package com.gitee.wsl.time.chinese.util

import kotlin.math.PI
import kotlin.math.cos
import kotlin.math.floor
import kotlin.math.sin

/**
 * 寿星天文历工具
 *
 * @author 6tail
 * @link https://github.com/sxwnl/sxwnl
 */
object ShouXingUtil {
    /**
     * 2π
     */
    const val PI_2: Double = 2 * PI
    const val ONE_THIRD: Double = 1.0 / 3

    /**
     * 1天对应的秒数
     */
    const val SECOND_PER_DAY: Int = 86400

    /**
     * 2000年儒略日数(2000-1-1 12:00:00 UTC)
     */
    const val J2000: Double = 2451545.0

    /**
     * 1弧度对应的角秒
     */
    const val SECOND_PER_RAD: Double = 180 * 3600 / PI
    private val NUT_B = doubleArrayOf(
        2.1824, -33.75705, 36e-6, -1720.0, 920.0,
        3.5069, 1256.66393, 11e-6, -132.0, 57.0,
        1.3375, 16799.4182, -51e-6, -23.0, 10.0,
        4.3649, -67.5141, 72e-6, 21.0, -9.0,
        0.04, -628.302, 0.0, -14.0, 0.0,
        2.36, 8328.691, 0.0, 7.0, 0.0,
        3.46, 1884.966, 0.0, -5.0, 2.0,
        5.44, 16833.175, 0.0, -4.0, 2.0,
        3.69, 25128.110, 0.0, -3.0, 0.0,
        3.55, 628.362, 0.0, 2.0, 0.0
    )
    private val DT_AT = doubleArrayOf(
        -4000.0, 108371.7, -13036.80, 392.000, 0.0000,
        -500.0, 17201.0, -627.82, 16.170, -0.3413,
        -150.0, 12200.6, -346.41, 5.403, -0.1593,
        150.0, 9113.8, -328.13, -1.647, 0.0377,
        500.0, 5707.5, -391.41, 0.915, 0.3145,
        900.0, 2203.4, -283.45, 13.034, -0.1778,
        1300.0, 490.1, -57.35, 2.085, -0.0072,
        1600.0, 120.0, -9.81, -1.532, 0.1403,
        1700.0, 10.2, -0.91, 0.510, -0.0370,
        1800.0, 13.4, -0.72, 0.202, -0.0193,
        1830.0, 7.8, -1.81, 0.416, -0.0247,
        1860.0, 8.3, -0.13, -0.406, 0.0292,
        1880.0, -5.4, 0.32, -0.183, 0.0173,
        1900.0, -2.3, 2.06, 0.169, -0.0135,
        1920.0, 21.2, 1.69, -0.304, 0.0167,
        1940.0, 24.2, 1.22, -0.064, 0.0031,
        1960.0, 33.2, 0.51, 0.231, -0.0109,
        1980.0, 51.0, 1.29, -0.026, 0.0032,
        2000.0, 63.87, 0.1, 0.0, 0.0,
        2005.0, 64.7, 0.21, 0.0, 0.0,
        2012.0, 66.8, 0.22, 0.0, 0.0,  // 2018, 69.0, 0.36, 0, 0,
        // 使用skyfeild的DE440s△T预测数据拟合
        2016.0, 68.1024, 0.5456, -0.0542, -0.001172,
        2020.0, 69.3612, 0.0422, -0.0502, 0.006216,
        2024.0, 69.1752, -0.0335, -0.0048, 0.000811,
        2028.0, 69.0206, -0.0275, 0.0055, -0.000014,
        2032.0, 68.9981, 0.0163, 0.0054, 0.000006,
        2036.0, 69.1498, 0.0599, 0.0053, 0.000026,
        2040.0, 69.4751, 0.1035, 0.0051, 0.000046,
        2044.0, 69.9737, 0.1469, 0.0050, 0.000066,
        2048.0, 70.6451, 0.1903, 0.0049, 0.000085,
        2050.0, 71.0457
    )
    private  val XL0: DoubleArray = doubleArrayOf(
        10000000000.0,
        20.0,
        578.0,
        920.0,
        1100.0,
        1124.0,
        1136.0,
        1148.0,
        1217.0,
        1226.0,
        1229.0,
        1229.0,
        1229.0,
        1229.0,
        1937.0,
        2363.0,
        2618.0,
        2633.0,
        2660.0,
        2666.0,
        17534704567.0,
        0.00000000000,
        0.00000000000,
        334165646.0,
        4.669256804,
        6283.075849991,
        3489428.0,
        4.6261024,
        12566.1517000,
        349706.0,
        2.744118,
        5753.384885,
        341757.0,
        2.828866,
        3.523118,
        313590.0,
        3.627670,
        77713.771468,
        267622.0,
        4.418084,
        7860.419392,
        234269.0,
        6.135162,
        3930.209696,
        132429.0,
        0.742464,
        11506.769770,
        127317.0,
        2.037097,
        529.690965,
        119917.0,
        1.109629,
        1577.343542,
        99025.0,
        5.23268,
        5884.92685,
        90186.0,
        2.04505,
        26.29832,
        85722.0,
        3.50849,
        398.14900,
        77979.0,
        1.17883,
        5223.69392,
        75314.0,
        2.53339,
        5507.55324,
        50526.0,
        4.58293,
        18849.22755,
        49238.0,
        4.20507,
        775.52261,
        35666.0,
        2.91954,
        0.06731,
        31709.0,
        5.84902,
        11790.62909,
        28413.0,
        1.89869,
        796.29801,
        27104.0,
        0.31489,
        10977.07880,
        24281.0,
        0.34481,
        5486.77784,
        20616.0,
        4.80647,
        2544.31442,
        20539.0,
        1.86948,
        5573.14280,
        20226.0,
        2.45768,
        6069.77675,
        15552.0,
        0.83306,
        213.29910,
        13221.0,
        3.41118,
        2942.46342,
        12618.0,
        1.08303,
        20.77540,
        11513.0,
        0.64545,
        0.98032,
        10285.0,
        0.63600,
        4694.00295,
        10190.0,
        0.97569,
        15720.83878,
        10172.0,
        4.26680,
        7.11355,
        9921.0,
        6.2099,
        2146.1654,
        9761.0,
        0.6810,
        155.4204,
        8580.0,
        5.9832,
        161000.6857,
        8513.0,
        1.2987,
        6275.9623,
        8471.0,
        3.6708,
        71430.6956,
        7964.0,
        1.8079,
        17260.1547,
        7876.0,
        3.0370,
        12036.4607,
        7465.0,
        1.7551,
        5088.6288,
        7387.0,
        3.5032,
        3154.6871,
        7355.0,
        4.6793,
        801.8209,
        6963.0,
        0.8330,
        9437.7629,
        6245.0,
        3.9776,
        8827.3903,
        6115.0,
        1.8184,
        7084.8968,
        5696.0,
        2.7843,
        6286.5990,
        5612.0,
        4.3869,
        14143.4952,
        5558.0,
        3.4701,
        6279.5527,
        5199.0,
        0.1891,
        12139.5535,
        5161.0,
        1.3328,
        1748.0164,
        5115.0,
        0.2831,
        5856.4777,
        4900.0,
        0.4874,
        1194.4470,
        4104.0,
        5.3682,
        8429.2413,
        4094.0,
        2.3985,
        19651.0485,
        3920.0,
        6.1683,
        10447.3878,
        3677.0,
        6.0413,
        10213.2855,
        3660.0,
        2.5696,
        1059.3819,
        3595.0,
        1.7088,
        2352.8662,
        3557.0,
        1.7760,
        6812.7668,
        3329.0,
        0.5931,
        17789.8456,
        3041.0,
        0.4429,
        83996.8473,
        3005.0,
        2.7398,
        1349.8674,
        2535.0,
        3.1647,
        4690.4798,
        2474.0,
        0.2148,
        3.5904,
        2366.0,
        0.4847,
        8031.0923,
        2357.0,
        2.0653,
        3340.6124,
        2282.0,
        5.2220,
        4705.7323,
        2189.0,
        5.5559,
        553.5694,
        2142.0,
        1.4256,
        16730.4637,
        2109.0,
        4.1483,
        951.7184,
        2030.0,
        0.3713,
        283.8593,
        1992.0,
        5.2221,
        12168.0027,
        1986.0,
        5.7747,
        6309.3742,
        1912.0,
        3.8222,
        23581.2582,
        1889.0,
        5.3863,
        149854.4001,
        1790.0,
        2.2149,
        13367.9726,
        1748.0,
        4.5605,
        135.0651,
        1622.0,
        5.9884,
        11769.8537,
        1508.0,
        4.1957,
        6256.7775,
        1442.0,
        4.1932,
        242.7286,
        1435.0,
        3.7236,
        38.0277,
        1397.0,
        4.4014,
        6681.2249,
        1362.0,
        1.8893,
        7632.9433,
        1250.0,
        1.1305,
        5.5229,
        1205.0,
        2.6223,
        955.5997,
        1200.0,
        1.0035,
        632.7837,
        1129.0,
        0.1774,
        4164.3120,
        1083.0,
        0.3273,
        103.0928,
        1052.0,
        0.9387,
        11926.2544,
        1050.0,
        5.3591,
        1592.5960,
        1033.0,
        6.1998,
        6438.4962,
        1001.0,
        6.0291,
        5746.2713,
        980.0,
        0.999,
        11371.705,
        980.0,
        5.244,
        27511.468,
        938.0,
        2.624,
        5760.498,
        923.0,
        0.483,
        522.577,
        922.0,
        4.571,
        4292.331,
        905.0,
        5.337,
        6386.169,
        862.0,
        4.165,
        7058.598,
        841.0,
        3.299,
        7234.794,
        836.0,
        4.539,
        25132.303,
        813.0,
        6.112,
        4732.031,
        812.0,
        6.271,
        426.598,
        801.0,
        5.821,
        28.449,
        787.0,
        0.996,
        5643.179,
        776.0,
        2.957,
        23013.540,
        769.0,
        3.121,
        7238.676,
        758.0,
        3.974,
        11499.656,
        735.0,
        4.386,
        316.392,
        731.0,
        0.607,
        11513.883,
        719.0,
        3.998,
        74.782,
        706.0,
        0.323,
        263.084,
        676.0,
        5.911,
        90955.552,
        663.0,
        3.665,
        17298.182,
        653.0,
        5.791,
        18073.705,
        630.0,
        4.717,
        6836.645,
        615.0,
        1.458,
        233141.314,
        612.0,
        1.075,
        19804.827,
        596.0,
        3.321,
        6283.009,
        596.0,
        2.876,
        6283.143,
        555.0,
        2.452,
        12352.853,
        541.0,
        5.392,
        419.485,
        531.0,
        0.382,
        31441.678,
        519.0,
        4.065,
        6208.294,
        513.0,
        2.361,
        10973.556,
        494.0,
        5.737,
        9917.697,
        450.0,
        3.272,
        11015.106,
        449.0,
        3.653,
        206.186,
        447.0,
        2.064,
        7079.374,
        435.0,
        4.423,
        5216.580,
        421.0,
        1.906,
        245.832,
        413.0,
        0.921,
        3738.761,
        402.0,
        0.840,
        20.355,
        387.0,
        1.826,
        11856.219,
        379.0,
        2.344,
        3.881,
        374.0,
        2.954,
        3128.389,
        370.0,
        5.031,
        536.805,
        365.0,
        1.018,
        16200.773,
        365.0,
        1.083,
        88860.057,
        352.0,
        5.978,
        3894.182,
        352.0,
        2.056,
        244287.600,
        351.0,
        3.713,
        6290.189,
        340.0,
        1.106,
        14712.317,
        339.0,
        0.978,
        8635.942,
        339.0,
        3.202,
        5120.601,
        333.0,
        0.837,
        6496.375,
        325.0,
        3.479,
        6133.513,
        316.0,
        5.089,
        21228.392,
        316.0,
        1.328,
        10873.986,
        309.0,
        3.646,
        10.637,
        303.0,
        1.802,
        35371.887,
        296.0,
        3.397,
        9225.539,
        288.0,
        6.026,
        154717.610,
        281.0,
        2.585,
        14314.168,
        262.0,
        3.856,
        266.607,
        262.0,
        2.579,
        22483.849,
        257.0,
        1.561,
        23543.231,
        255.0,
        3.949,
        1990.745,
        251.0,
        3.744,
        10575.407,
        240.0,
        1.161,
        10984.192,
        238.0,
        0.106,
        7.046,
        236.0,
        4.272,
        6040.347,
        234.0,
        3.577,
        10969.965,
        211.0,
        3.714,
        65147.620,
        210.0,
        0.754,
        13521.751,
        207.0,
        4.228,
        5650.292,
        202.0,
        0.814,
        170.673,
        201.0,
        4.629,
        6037.244,
        200.0,
        0.381,
        6172.870,
        199.0,
        3.933,
        6206.810,
        199.0,
        5.197,
        6262.300,
        197.0,
        1.046,
        18209.330,
        195.0,
        1.070,
        5230.807,
        195.0,
        4.869,
        36.028,
        194.0,
        4.313,
        6244.943,
        192.0,
        1.229,
        709.933,
        192.0,
        5.595,
        6282.096,
        192.0,
        0.602,
        6284.056,
        189.0,
        3.744,
        23.878,
        188.0,
        1.904,
        15.252,
        188.0,
        0.867,
        22003.915,
        182.0,
        3.681,
        15110.466,
        181.0,
        0.491,
        1.484,
        179.0,
        3.222,
        39302.097,
        179.0,
        1.259,
        12559.038,
        62833196674749.0,
        0.000000000000,
        0.000000000000,
        20605886.0,
        2.67823456,
        6283.07584999,
        430343.0,
        2.635127,
        12566.151700,
        42526.0,
        1.59047,
        3.52312,
        11926.0,
        5.79557,
        26.29832,
        10898.0,
        2.96618,
        1577.34354,
        9348.0,
        2.5921,
        18849.2275,
        7212.0,
        1.1385,
        529.6910,
        6777.0,
        1.8747,
        398.1490,
        6733.0,
        4.4092,
        5507.5532,
        5903.0,
        2.8880,
        5223.6939,
        5598.0,
        2.1747,
        155.4204,
        4541.0,
        0.3980,
        796.2980,
        3637.0,
        0.4662,
        775.5226,
        2896.0,
        2.6471,
        7.1135,
        2084.0,
        5.3414,
        0.9803,
        1910.0,
        1.8463,
        5486.7778,
        1851.0,
        4.9686,
        213.2991,
        1729.0,
        2.9912,
        6275.9623,
        1623.0,
        0.0322,
        2544.3144,
        1583.0,
        1.4305,
        2146.1654,
        1462.0,
        1.2053,
        10977.0788,
        1246.0,
        2.8343,
        1748.0164,
        1188.0,
        3.2580,
        5088.6288,
        1181.0,
        5.2738,
        1194.4470,
        1151.0,
        2.0750,
        4694.0030,
        1064.0,
        0.7661,
        553.5694,
        997.0,
        1.303,
        6286.599,
        972.0,
        4.239,
        1349.867,
        945.0,
        2.700,
        242.729,
        858.0,
        5.645,
        951.718,
        758.0,
        5.301,
        2352.866,
        639.0,
        2.650,
        9437.763,
        610.0,
        4.666,
        4690.480,
        583.0,
        1.766,
        1059.382,
        531.0,
        0.909,
        3154.687,
        522.0,
        5.661,
        71430.696,
        520.0,
        1.854,
        801.821,
        504.0,
        1.425,
        6438.496,
        433.0,
        0.241,
        6812.767,
        426.0,
        0.774,
        10447.388,
        413.0,
        5.240,
        7084.897,
        374.0,
        2.001,
        8031.092,
        356.0,
        2.429,
        14143.495,
        350.0,
        4.800,
        6279.553,
        337.0,
        0.888,
        12036.461,
        337.0,
        3.862,
        1592.596,
        325.0,
        3.400,
        7632.943,
        322.0,
        0.616,
        8429.241,
        318.0,
        3.188,
        4705.732,
        297.0,
        6.070,
        4292.331,
        295.0,
        1.431,
        5746.271,
        290.0,
        2.325,
        20.355,
        275.0,
        0.935,
        5760.498,
        270.0,
        4.804,
        7234.794,
        253.0,
        6.223,
        6836.645,
        228.0,
        5.003,
        17789.846,
        225.0,
        5.672,
        11499.656,
        215.0,
        5.202,
        11513.883,
        208.0,
        3.955,
        10213.286,
        208.0,
        2.268,
        522.577,
        206.0,
        2.224,
        5856.478,
        206.0,
        2.550,
        25132.303,
        203.0,
        0.910,
        6256.778,
        189.0,
        0.532,
        3340.612,
        188.0,
        4.735,
        83996.847,
        179.0,
        1.474,
        4164.312,
        178.0,
        3.025,
        5.523,
        177.0,
        3.026,
        5753.385,
        159.0,
        4.637,
        3.286,
        157.0,
        6.124,
        5216.580,
        155.0,
        3.077,
        6681.225,
        154.0,
        4.200,
        13367.973,
        143.0,
        1.191,
        3894.182,
        138.0,
        3.093,
        135.065,
        136.0,
        4.245,
        426.598,
        134.0,
        5.765,
        6040.347,
        128.0,
        3.085,
        5643.179,
        127.0,
        2.092,
        6290.189,
        125.0,
        3.077,
        11926.254,
        125.0,
        3.445,
        536.805,
        114.0,
        3.244,
        12168.003,
        112.0,
        2.318,
        16730.464,
        111.0,
        3.901,
        11506.770,
        111.0,
        5.320,
        23.878,
        105.0,
        3.750,
        7860.419,
        103.0,
        2.447,
        1990.745,
        96.0,
        0.82,
        3.88,
        96.0,
        4.08,
        6127.66,
        91.0,
        5.42,
        206.19,
        91.0,
        0.42,
        7079.37,
        88.0,
        5.17,
        11790.63,
        81.0,
        0.34,
        9917.70,
        80.0,
        3.89,
        10973.56,
        78.0,
        2.40,
        1589.07,
        78.0,
        2.58,
        11371.70,
        77.0,
        3.98,
        955.60,
        77.0,
        3.36,
        36.03,
        76.0,
        1.30,
        103.09,
        75.0,
        5.18,
        10969.97,
        75.0,
        4.96,
        6496.37,
        73.0,
        5.21,
        38.03,
        72.0,
        2.65,
        6309.37,
        70.0,
        5.61,
        3738.76,
        69.0,
        2.60,
        3496.03,
        69.0,
        0.39,
        15.25,
        69.0,
        2.78,
        20.78,
        65.0,
        1.13,
        7058.60,
        64.0,
        4.28,
        28.45,
        61.0,
        5.63,
        10984.19,
        60.0,
        0.73,
        419.48,
        60.0,
        5.28,
        10575.41,
        58.0,
        5.55,
        17298.18,
        58.0,
        3.19,
        4732.03,
        5291887.0,
        0.0000000,
        0.0000000,
        871984.0,
        1.072097,
        6283.075850,
        30913.0,
        0.86729,
        12566.15170,
        2734.0,
        0.0530,
        3.5231,
        1633.0,
        5.1883,
        26.2983,
        1575.0,
        3.6846,
        155.4204,
        954.0,
        0.757,
        18849.228,
        894.0,
        2.057,
        77713.771,
        695.0,
        0.827,
        775.523,
        506.0,
        4.663,
        1577.344,
        406.0,
        1.031,
        7.114,
        381.0,
        3.441,
        5573.143,
        346.0,
        5.141,
        796.298,
        317.0,
        6.053,
        5507.553,
        302.0,
        1.192,
        242.729,
        289.0,
        6.117,
        529.691,
        271.0,
        0.306,
        398.149,
        254.0,
        2.280,
        553.569,
        237.0,
        4.381,
        5223.694,
        208.0,
        3.754,
        0.980,
        168.0,
        0.902,
        951.718,
        153.0,
        5.759,
        1349.867,
        145.0,
        4.364,
        1748.016,
        134.0,
        3.721,
        1194.447,
        125.0,
        2.948,
        6438.496,
        122.0,
        2.973,
        2146.165,
        110.0,
        1.271,
        161000.686,
        104.0,
        0.604,
        3154.687,
        100.0,
        5.986,
        6286.599,
        92.0,
        4.80,
        5088.63,
        89.0,
        5.23,
        7084.90,
        83.0,
        3.31,
        213.30,
        76.0,
        3.42,
        5486.78,
        71.0,
        6.19,
        4690.48,
        68.0,
        3.43,
        4694.00,
        65.0,
        1.60,
        2544.31,
        64.0,
        1.98,
        801.82,
        61.0,
        2.48,
        10977.08,
        50.0,
        1.44,
        6836.65,
        49.0,
        2.34,
        1592.60,
        46.0,
        1.31,
        4292.33,
        46.0,
        3.81,
        149854.40,
        43.0,
        0.04,
        7234.79,
        40.0,
        4.94,
        7632.94,
        39.0,
        1.57,
        71430.70,
        38.0,
        3.17,
        6309.37,
        35.0,
        0.99,
        6040.35,
        35.0,
        0.67,
        1059.38,
        31.0,
        3.18,
        2352.87,
        31.0,
        3.55,
        8031.09,
        30.0,
        1.92,
        10447.39,
        30.0,
        2.52,
        6127.66,
        28.0,
        4.42,
        9437.76,
        28.0,
        2.71,
        3894.18,
        27.0,
        0.67,
        25132.30,
        26.0,
        5.27,
        6812.77,
        25.0,
        0.55,
        6279.55,
        23.0,
        1.38,
        4705.73,
        22.0,
        0.64,
        6256.78,
        20.0,
        6.07,
        640.88,
        28923.0,
        5.84384,
        6283.07585,
        3496.0,
        0.0000,
        0.0000,
        1682.0,
        5.4877,
        12566.1517,
        296.0,
        5.196,
        155.420,
        129.0,
        4.722,
        3.523,
        71.0,
        5.30,
        18849.23,
        64.0,
        5.97,
        242.73,
        40.0,
        3.79,
        553.57,
        11408.0,
        3.14159,
        0.00000,
        772.0,
        4.134,
        6283.076,
        77.0,
        3.84,
        12566.15,
        42.0,
        0.42,
        155.42,
        88.0,
        3.14,
        0.00,
        17.0,
        2.77,
        6283.08,
        5.0,
        2.01,
        155.42,
        3.0,
        2.21,
        12566.15,
        27962.0,
        3.19870,
        84334.66158,
        10164.0,
        5.42249,
        5507.55324,
        8045.0,
        3.8801,
        5223.6939,
        4381.0,
        3.7044,
        2352.8662,
        3193.0,
        4.0003,
        1577.3435,
        2272.0,
        3.9847,
        1047.7473,
        1814.0,
        4.9837,
        6283.0758,
        1639.0,
        3.5646,
        5856.4777,
        1444.0,
        3.7028,
        9437.7629,
        1430.0,
        3.4112,
        10213.2855,
        1125.0,
        4.8282,
        14143.4952,
        1090.0,
        2.0857,
        6812.7668,
        1037.0,
        4.0566,
        71092.8814,
        971.0,
        3.473,
        4694.003,
        915.0,
        1.142,
        6620.890,
        878.0,
        4.440,
        5753.385,
        837.0,
        4.993,
        7084.897,
        770.0,
        5.554,
        167621.576,
        719.0,
        3.602,
        529.691,
        692.0,
        4.326,
        6275.962,
        558.0,
        4.410,
        7860.419,
        529.0,
        2.484,
        4705.732,
        521.0,
        6.250,
        18073.705,
        903.0,
        3.897,
        5507.553,
        618.0,
        1.730,
        5223.694,
        380.0,
        5.244,
        2352.866,
        166.0,
        1.627,
        84334.662,
        10001398880.0,
        0.00000000000,
        0.00000000000,
        167069963.0,
        3.098463508,
        6283.075849991,
        1395602.0,
        3.0552461,
        12566.1517000,
        308372.0,
        5.198467,
        77713.771468,
        162846.0,
        1.173877,
        5753.384885,
        157557.0,
        2.846852,
        7860.419392,
        92480.0,
        5.45292,
        11506.76977,
        54244.0,
        4.56409,
        3930.20970,
        47211.0,
        3.66100,
        5884.92685,
        34598.0,
        0.96369,
        5507.55324,
        32878.0,
        5.89984,
        5223.69392,
        30678.0,
        0.29867,
        5573.14280,
        24319.0,
        4.27350,
        11790.62909,
        21183.0,
        5.84715,
        1577.34354,
        18575.0,
        5.02194,
        10977.07880,
        17484.0,
        3.01194,
        18849.22755,
        10984.0,
        5.05511,
        5486.77784,
        9832.0,
        0.8868,
        6069.7768,
        8650.0,
        5.6896,
        15720.8388,
        8583.0,
        1.2708,
        161000.6857,
        6490.0,
        0.2725,
        17260.1547,
        6292.0,
        0.9218,
        529.6910,
        5706.0,
        2.0137,
        83996.8473,
        5574.0,
        5.2416,
        71430.6956,
        4938.0,
        3.2450,
        2544.3144,
        4696.0,
        2.5781,
        775.5226,
        4466.0,
        5.5372,
        9437.7629,
        4252.0,
        6.0111,
        6275.9623,
        3897.0,
        5.3607,
        4694.0030,
        3825.0,
        2.3926,
        8827.3903,
        3749.0,
        0.8295,
        19651.0485,
        3696.0,
        4.9011,
        12139.5535,
        3566.0,
        1.6747,
        12036.4607,
        3454.0,
        1.8427,
        2942.4634,
        3319.0,
        0.2437,
        7084.8968,
        3192.0,
        0.1837,
        5088.6288,
        3185.0,
        1.7778,
        398.1490,
        2846.0,
        1.2134,
        6286.5990,
        2779.0,
        1.8993,
        6279.5527,
        2628.0,
        4.5890,
        10447.3878,
        2460.0,
        3.7866,
        8429.2413,
        2393.0,
        4.9960,
        5856.4777,
        2359.0,
        0.2687,
        796.2980,
        2329.0,
        2.8078,
        14143.4952,
        2210.0,
        1.9500,
        3154.6871,
        2035.0,
        4.6527,
        2146.1654,
        1951.0,
        5.3823,
        2352.8662,
        1883.0,
        0.6731,
        149854.4001,
        1833.0,
        2.2535,
        23581.2582,
        1796.0,
        0.1987,
        6812.7668,
        1731.0,
        6.1520,
        16730.4637,
        1717.0,
        4.4332,
        10213.2855,
        1619.0,
        5.2316,
        17789.8456,
        1381.0,
        5.1896,
        8031.0923,
        1364.0,
        3.6852,
        4705.7323,
        1314.0,
        0.6529,
        13367.9726,
        1041.0,
        4.3329,
        11769.8537,
        1017.0,
        1.5939,
        4690.4798,
        998.0,
        4.201,
        6309.374,
        966.0,
        3.676,
        27511.468,
        874.0,
        6.064,
        1748.016,
        779.0,
        3.674,
        12168.003,
        771.0,
        0.312,
        7632.943,
        756.0,
        2.626,
        6256.778,
        746.0,
        5.648,
        11926.254,
        693.0,
        2.924,
        6681.225,
        680.0,
        1.423,
        23013.540,
        674.0,
        0.563,
        3340.612,
        663.0,
        5.661,
        11371.705,
        659.0,
        3.136,
        801.821,
        648.0,
        2.650,
        19804.827,
        615.0,
        3.029,
        233141.314,
        612.0,
        5.134,
        1194.447,
        563.0,
        4.341,
        90955.552,
        552.0,
        2.091,
        17298.182,
        534.0,
        5.100,
        31441.678,
        531.0,
        2.407,
        11499.656,
        523.0,
        4.624,
        6438.496,
        513.0,
        5.324,
        11513.883,
        477.0,
        0.256,
        11856.219,
        461.0,
        1.722,
        7234.794,
        458.0,
        3.766,
        6386.169,
        458.0,
        4.466,
        5746.271,
        423.0,
        1.055,
        5760.498,
        422.0,
        1.557,
        7238.676,
        415.0,
        2.599,
        7058.598,
        401.0,
        3.030,
        1059.382,
        397.0,
        1.201,
        1349.867,
        379.0,
        4.907,
        4164.312,
        360.0,
        5.707,
        5643.179,
        352.0,
        3.626,
        244287.600,
        348.0,
        0.761,
        10973.556,
        342.0,
        3.001,
        4292.331,
        336.0,
        4.546,
        4732.031,
        334.0,
        3.138,
        6836.645,
        324.0,
        4.164,
        9917.697,
        316.0,
        1.691,
        11015.106,
        307.0,
        0.238,
        35371.887,
        298.0,
        1.306,
        6283.143,
        298.0,
        1.750,
        6283.009,
        293.0,
        5.738,
        16200.773,
        286.0,
        5.928,
        14712.317,
        281.0,
        3.515,
        21228.392,
        280.0,
        5.663,
        8635.942,
        277.0,
        0.513,
        26.298,
        268.0,
        4.207,
        18073.705,
        266.0,
        0.900,
        12352.853,
        260.0,
        2.962,
        25132.303,
        255.0,
        2.477,
        6208.294,
        242.0,
        2.800,
        709.933,
        231.0,
        1.054,
        22483.849,
        229.0,
        1.070,
        14314.168,
        216.0,
        1.314,
        154717.610,
        215.0,
        6.038,
        10873.986,
        200.0,
        0.561,
        7079.374,
        198.0,
        2.614,
        951.718,
        197.0,
        4.369,
        167283.762,
        186.0,
        2.861,
        5216.580,
        183.0,
        1.660,
        39302.097,
        183.0,
        5.912,
        3738.761,
        175.0,
        2.145,
        6290.189,
        173.0,
        2.168,
        10575.407,
        171.0,
        3.702,
        1592.596,
        171.0,
        1.343,
        3128.389,
        164.0,
        5.550,
        6496.375,
        164.0,
        5.856,
        10984.192,
        161.0,
        1.998,
        10969.965,
        161.0,
        1.909,
        6133.513,
        157.0,
        4.955,
        25158.602,
        154.0,
        6.216,
        23543.231,
        153.0,
        5.357,
        13521.751,
        150.0,
        5.770,
        18209.330,
        150.0,
        5.439,
        155.420,
        139.0,
        1.778,
        9225.539,
        139.0,
        1.626,
        5120.601,
        128.0,
        2.460,
        13916.019,
        123.0,
        0.717,
        143571.324,
        122.0,
        2.654,
        88860.057,
        121.0,
        4.414,
        3894.182,
        121.0,
        1.192,
        3.523,
        120.0,
        4.030,
        553.569,
        119.0,
        1.513,
        17654.781,
        117.0,
        3.117,
        14945.316,
        113.0,
        2.698,
        6040.347,
        110.0,
        3.085,
        43232.307,
        109.0,
        0.998,
        955.600,
        108.0,
        2.939,
        17256.632,
        107.0,
        5.285,
        65147.620,
        103.0,
        0.139,
        11712.955,
        103.0,
        5.850,
        213.299,
        102.0,
        3.046,
        6037.244,
        101.0,
        2.842,
        8662.240,
        100.0,
        3.626,
        6262.300,
        98.0,
        2.36,
        6206.81,
        98.0,
        5.11,
        6172.87,
        98.0,
        2.00,
        15110.47,
        97.0,
        2.67,
        5650.29,
        97.0,
        2.75,
        6244.94,
        96.0,
        4.02,
        6282.10,
        96.0,
        5.31,
        6284.06,
        92.0,
        0.10,
        29088.81,
        85.0,
        3.26,
        20426.57,
        84.0,
        2.60,
        28766.92,
        81.0,
        3.58,
        10177.26,
        80.0,
        5.81,
        5230.81,
        78.0,
        2.53,
        16496.36,
        77.0,
        4.06,
        6127.66,
        73.0,
        0.04,
        5481.25,
        72.0,
        5.96,
        12559.04,
        72.0,
        5.92,
        4136.91,
        71.0,
        5.49,
        22003.91,
        70.0,
        3.41,
        7.11,
        69.0,
        0.62,
        11403.68,
        69.0,
        3.90,
        1589.07,
        69.0,
        1.96,
        12416.59,
        69.0,
        4.51,
        426.60,
        67.0,
        1.61,
        11087.29,
        66.0,
        4.50,
        47162.52,
        66.0,
        5.08,
        283.86,
        66.0,
        4.32,
        16858.48,
        65.0,
        1.04,
        6062.66,
        64.0,
        1.59,
        18319.54,
        63.0,
        5.70,
        45892.73,
        63.0,
        4.60,
        66567.49,
        63.0,
        3.82,
        13517.87,
        62.0,
        2.62,
        11190.38,
        61.0,
        1.54,
        33019.02,
        60.0,
        5.58,
        10344.30,
        60.0,
        5.38,
        316428.23,
        60.0,
        5.78,
        632.78,
        59.0,
        6.12,
        9623.69,
        57.0,
        0.16,
        17267.27,
        57.0,
        3.86,
        6076.89,
        57.0,
        1.98,
        7668.64,
        56.0,
        4.78,
        20199.09,
        55.0,
        4.56,
        18875.53,
        55.0,
        3.51,
        17253.04,
        54.0,
        3.07,
        226858.24,
        54.0,
        4.83,
        18422.63,
        53.0,
        5.02,
        12132.44,
        52.0,
        3.63,
        5333.90,
        52.0,
        0.97,
        155427.54,
        51.0,
        3.36,
        20597.24,
        50.0,
        0.99,
        11609.86,
        50.0,
        2.21,
        1990.75,
        48.0,
        1.62,
        12146.67,
        48.0,
        1.17,
        12569.67,
        47.0,
        4.62,
        5436.99,
        47.0,
        1.81,
        12562.63,
        47.0,
        0.59,
        21954.16,
        47.0,
        0.76,
        7342.46,
        46.0,
        0.27,
        4590.91,
        46.0,
        3.77,
        156137.48,
        45.0,
        5.66,
        10454.50,
        44.0,
        5.84,
        3496.03,
        43.0,
        0.24,
        17996.03,
        41.0,
        5.93,
        51092.73,
        41.0,
        4.21,
        12592.45,
        40.0,
        5.14,
        1551.05,
        40.0,
        5.28,
        15671.08,
        39.0,
        3.69,
        18052.93,
        39.0,
        4.94,
        24356.78,
        38.0,
        2.72,
        11933.37,
        38.0,
        5.23,
        7477.52,
        38.0,
        4.99,
        9779.11,
        37.0,
        3.70,
        9388.01,
        37.0,
        4.44,
        4535.06,
        36.0,
        2.16,
        28237.23,
        36.0,
        2.54,
        242.73,
        36.0,
        0.22,
        5429.88,
        35.0,
        6.15,
        19800.95,
        35.0,
        2.92,
        36949.23,
        34.0,
        5.63,
        2379.16,
        34.0,
        5.73,
        16460.33,
        34.0,
        5.11,
        5849.36,
        33.0,
        6.19,
        6268.85,
        10301861.0,
        1.10748970,
        6283.07584999,
        172124.0,
        1.064423,
        12566.151700,
        70222.0,
        3.14159,
        0.00000,
        3235.0,
        1.0217,
        18849.2275,
        3080.0,
        2.8435,
        5507.5532,
        2497.0,
        1.3191,
        5223.6939,
        1849.0,
        1.4243,
        1577.3435,
        1008.0,
        5.9138,
        10977.0788,
        865.0,
        1.420,
        6275.962,
        863.0,
        0.271,
        5486.778,
        507.0,
        1.686,
        5088.629,
        499.0,
        6.014,
        6286.599,
        467.0,
        5.987,
        529.691,
        440.0,
        0.518,
        4694.003,
        410.0,
        1.084,
        9437.763,
        387.0,
        4.750,
        2544.314,
        375.0,
        5.071,
        796.298,
        352.0,
        0.023,
        83996.847,
        344.0,
        0.949,
        71430.696,
        341.0,
        5.412,
        775.523,
        322.0,
        6.156,
        2146.165,
        286.0,
        5.484,
        10447.388,
        284.0,
        3.420,
        2352.866,
        255.0,
        6.132,
        6438.496,
        252.0,
        0.243,
        398.149,
        243.0,
        3.092,
        4690.480,
        225.0,
        3.689,
        7084.897,
        220.0,
        4.952,
        6812.767,
        219.0,
        0.420,
        8031.092,
        209.0,
        1.282,
        1748.016,
        193.0,
        5.314,
        8429.241,
        185.0,
        1.820,
        7632.943,
        175.0,
        3.229,
        6279.553,
        173.0,
        1.537,
        4705.732,
        158.0,
        4.097,
        11499.656,
        158.0,
        5.539,
        3154.687,
        150.0,
        3.633,
        11513.883,
        148.0,
        3.222,
        7234.794,
        147.0,
        3.653,
        1194.447,
        144.0,
        0.817,
        14143.495,
        135.0,
        6.151,
        5746.271,
        134.0,
        4.644,
        6836.645,
        128.0,
        2.693,
        1349.867,
        123.0,
        5.650,
        5760.498,
        118.0,
        2.577,
        13367.973,
        113.0,
        3.357,
        17789.846,
        110.0,
        4.497,
        4292.331,
        108.0,
        5.828,
        12036.461,
        102.0,
        5.621,
        6256.778,
        99.0,
        1.14,
        1059.38,
        98.0,
        0.66,
        5856.48,
        93.0,
        2.32,
        10213.29,
        92.0,
        0.77,
        16730.46,
        88.0,
        1.50,
        11926.25,
        86.0,
        1.42,
        5753.38,
        85.0,
        0.66,
        155.42,
        81.0,
        1.64,
        6681.22,
        80.0,
        4.11,
        951.72,
        66.0,
        4.55,
        5216.58,
        65.0,
        0.98,
        25132.30,
        64.0,
        4.19,
        6040.35,
        64.0,
        0.52,
        6290.19,
        63.0,
        1.51,
        5643.18,
        59.0,
        6.18,
        4164.31,
        57.0,
        2.30,
        10973.56,
        55.0,
        2.32,
        11506.77,
        55.0,
        2.20,
        1592.60,
        55.0,
        5.27,
        3340.61,
        54.0,
        5.54,
        553.57,
        53.0,
        5.04,
        9917.70,
        53.0,
        0.92,
        11371.70,
        52.0,
        3.98,
        17298.18,
        52.0,
        3.60,
        10969.97,
        49.0,
        5.91,
        3894.18,
        49.0,
        2.51,
        6127.66,
        48.0,
        1.67,
        12168.00,
        46.0,
        0.31,
        801.82,
        42.0,
        3.70,
        10575.41,
        42.0,
        4.05,
        10984.19,
        40.0,
        2.17,
        7860.42,
        40.0,
        4.17,
        26.30,
        38.0,
        5.82,
        7058.60,
        37.0,
        3.39,
        6496.37,
        36.0,
        1.08,
        6309.37,
        36.0,
        5.34,
        7079.37,
        34.0,
        3.62,
        11790.63,
        32.0,
        0.32,
        16200.77,
        31.0,
        4.24,
        3738.76,
        29.0,
        4.55,
        11856.22,
        29.0,
        1.26,
        8635.94,
        27.0,
        3.45,
        5884.93,
        26.0,
        5.08,
        10177.26,
        26.0,
        5.38,
        21228.39,
        24.0,
        2.26,
        11712.96,
        24.0,
        1.05,
        242.73,
        24.0,
        5.59,
        6069.78,
        23.0,
        3.63,
        6284.06,
        23.0,
        1.64,
        4732.03,
        22.0,
        3.46,
        213.30,
        21.0,
        1.05,
        3496.03,
        21.0,
        3.92,
        13916.02,
        21.0,
        4.01,
        5230.81,
        20.0,
        5.16,
        12352.85,
        20.0,
        0.69,
        1990.75,
        19.0,
        2.73,
        6062.66,
        19.0,
        5.01,
        11015.11,
        18.0,
        6.04,
        6283.01,
        18.0,
        2.85,
        7238.68,
        18.0,
        5.60,
        6283.14,
        18.0,
        5.16,
        17253.04,
        18.0,
        2.54,
        14314.17,
        17.0,
        1.58,
        7.11,
        17.0,
        0.98,
        3930.21,
        17.0,
        4.75,
        17267.27,
        16.0,
        2.19,
        6076.89,
        16.0,
        2.19,
        18073.70,
        16.0,
        6.12,
        3.52,
        16.0,
        4.61,
        9623.69,
        16.0,
        3.40,
        16496.36,
        15.0,
        0.19,
        9779.11,
        15.0,
        5.30,
        13517.87,
        15.0,
        4.26,
        3128.39,
        15.0,
        0.81,
        709.93,
        14.0,
        0.50,
        25158.60,
        14.0,
        4.38,
        4136.91,
        13.0,
        0.98,
        65147.62,
        13.0,
        3.31,
        154717.61,
        13.0,
        2.11,
        1589.07,
        13.0,
        1.92,
        22483.85,
        12.0,
        6.03,
        9225.54,
        12.0,
        1.53,
        12559.04,
        12.0,
        5.82,
        6282.10,
        12.0,
        5.61,
        5642.20,
        12.0,
        2.38,
        167283.76,
        12.0,
        0.39,
        12132.44,
        12.0,
        3.98,
        4686.89,
        12.0,
        5.81,
        12569.67,
        12.0,
        0.56,
        5849.36,
        11.0,
        0.45,
        6172.87,
        11.0,
        5.80,
        16858.48,
        11.0,
        6.22,
        12146.67,
        11.0,
        2.27,
        5429.88,
        435939.0,
        5.784551,
        6283.075850,
        12363.0,
        5.57935,
        12566.15170,
        1234.0,
        3.1416,
        0.0000,
        879.0,
        3.628,
        77713.771,
        569.0,
        1.870,
        5573.143,
        330.0,
        5.470,
        18849.228,
        147.0,
        4.480,
        5507.553,
        110.0,
        2.842,
        161000.686,
        101.0,
        2.815,
        5223.694,
        85.0,
        3.11,
        1577.34,
        65.0,
        5.47,
        775.52,
        61.0,
        1.38,
        6438.50,
        50.0,
        4.42,
        6286.60,
        47.0,
        3.66,
        7084.90,
        46.0,
        5.39,
        149854.40,
        42.0,
        0.90,
        10977.08,
        40.0,
        3.20,
        5088.63,
        35.0,
        1.81,
        5486.78,
        32.0,
        5.35,
        3154.69,
        30.0,
        3.52,
        796.30,
        29.0,
        4.62,
        4690.48,
        28.0,
        1.84,
        4694.00,
        27.0,
        3.14,
        71430.70,
        27.0,
        6.17,
        6836.65,
        26.0,
        1.42,
        2146.17,
        25.0,
        2.81,
        1748.02,
        24.0,
        2.18,
        155.42,
        23.0,
        4.76,
        7234.79,
        21.0,
        3.38,
        7632.94,
        21.0,
        0.22,
        4705.73,
        20.0,
        4.22,
        1349.87,
        20.0,
        2.01,
        1194.45,
        20.0,
        4.58,
        529.69,
        19.0,
        1.59,
        6309.37,
        18.0,
        5.70,
        6040.35,
        18.0,
        6.03,
        4292.33,
        17.0,
        2.90,
        9437.76,
        17.0,
        2.00,
        8031.09,
        17.0,
        5.78,
        83996.85,
        16.0,
        0.05,
        2544.31,
        15.0,
        0.95,
        6127.66,
        14.0,
        0.36,
        10447.39,
        14.0,
        1.48,
        2352.87,
        13.0,
        0.77,
        553.57,
        13.0,
        5.48,
        951.72,
        13.0,
        5.27,
        6279.55,
        13.0,
        3.76,
        6812.77,
        11.0,
        5.41,
        6256.78,
        10.0,
        0.68,
        1592.60,
        10.0,
        4.95,
        398.15,
        10.0,
        1.15,
        3894.18,
        10.0,
        5.20,
        244287.60,
        10.0,
        1.94,
        11856.22,
        9.0,
        5.39,
        25132.30,
        8.0,
        6.18,
        1059.38,
        8.0,
        0.69,
        8429.24,
        8.0,
        5.85,
        242.73,
        7.0,
        5.26,
        14143.50,
        7.0,
        0.52,
        801.82,
        6.0,
        2.24,
        8635.94,
        6.0,
        4.00,
        13367.97,
        6.0,
        2.77,
        90955.55,
        6.0,
        5.17,
        7058.60,
        5.0,
        1.46,
        233141.31,
        5.0,
        4.13,
        7860.42,
        5.0,
        3.91,
        26.30,
        5.0,
        3.89,
        12036.46,
        5.0,
        5.58,
        6290.19,
        5.0,
        5.54,
        1990.75,
        5.0,
        0.83,
        11506.77,
        5.0,
        6.22,
        6681.22,
        4.0,
        5.26,
        10575.41,
        4.0,
        1.91,
        7477.52,
        4.0,
        0.43,
        10213.29,
        4.0,
        1.09,
        709.93,
        4.0,
        5.09,
        11015.11,
        4.0,
        4.22,
        88860.06,
        4.0,
        3.57,
        7079.37,
        4.0,
        1.98,
        6284.06,
        4.0,
        3.93,
        10973.56,
        4.0,
        6.18,
        9917.70,
        4.0,
        0.36,
        10177.26,
        4.0,
        2.75,
        3738.76,
        4.0,
        3.33,
        5643.18,
        4.0,
        5.36,
        25158.60,
        14459.0,
        4.27319,
        6283.07585,
        673.0,
        3.917,
        12566.152,
        77.0,
        0.00,
        0.00,
        25.0,
        3.73,
        18849.23,
        4.0,
        2.80,
        6286.60,
        386.0,
        2.564,
        6283.076,
        31.0,
        2.27,
        12566.15,
        5.0,
        3.44,
        5573.14,
        2.0,
        2.05,
        18849.23,
        1.0,
        2.06,
        77713.77,
        1.0,
        4.41,
        161000.69,
        1.0,
        3.82,
        149854.40,
        1.0,
        4.08,
        6127.66,
        1.0,
        5.26,
        6438.50,
        9.0,
        1.22,
        6283.08,
        1.0,
        0.66,
        12566.15
    )

    private val XL1: Array<DoubleArray> = arrayOf<DoubleArray>(
        doubleArrayOf(
            22639.586,
            0.78475822,
            8328.691424623,
            1.5229241,
            25.0719,
            -0.123598,
            4586.438,
            0.1873974,
            7214.06286536,
            -2.184756,
            -18.860,
            0.08280,
            2369.914,
            2.5429520,
            15542.75428998,
            -0.661832,
            6.212,
            -0.04080,
            769.026,
            3.140313,
            16657.38284925,
            3.04585,
            50.144,
            -0.2472,
            666.418,
            1.527671,
            628.30195521,
            -0.02664,
            0.062,
            -0.0054,
            411.596,
            4.826607,
            16866.9323150,
            -1.28012,
            -1.07,
            -0.0059,
            211.656,
            4.115028,
            -1114.6285593,
            -3.70768,
            -43.93,
            0.2064,
            205.436,
            0.230523,
            6585.7609101,
            -2.15812,
            -18.92,
            0.0882,
            191.956,
            4.898507,
            23871.4457146,
            0.86109,
            31.28,
            -0.164,
            164.729,
            2.586078,
            14914.4523348,
            -0.6352,
            6.15,
            -0.035,
            147.321,
            5.45530,
            -7700.3894694,
            -1.5496,
            -25.01,
            0.118,
            124.988,
            0.48608,
            7771.3771450,
            -0.3309,
            3.11,
            -0.020,
            109.380,
            3.88323,
            8956.9933798,
            1.4963,
            25.13,
            -0.129,
            55.177,
            5.57033,
            -1324.1780250,
            0.6183,
            7.3,
            -0.035,
            45.100,
            0.89898,
            25195.623740,
            0.2428,
            24.0,
            -0.129,
            39.533,
            3.81213,
            -8538.240890,
            2.8030,
            26.1,
            -0.118,
            38.430,
            4.30115,
            22756.817155,
            -2.8466,
            -12.6,
            0.042,
            36.124,
            5.49587,
            24986.074274,
            4.5688,
            75.2,
            -0.371,
            30.773,
            1.94559,
            14428.125731,
            -4.3695,
            -37.7,
            0.166,
            28.397,
            3.28586,
            7842.364821,
            -2.2114,
            -18.8,
            0.077,
            24.358,
            5.64142,
            16171.056245,
            -0.6885,
            6.3,
            -0.046,
            18.585,
            4.41371,
            -557.314280,
            -1.8538,
            -22.0,
            0.10,
            17.954,
            3.58454,
            8399.679100,
            -0.3576,
            3.2,
            -0.03,
            14.530,
            4.9416,
            23243.143759,
            0.888,
            31.2,
            -0.16,
            14.380,
            0.9709,
            32200.137139,
            2.384,
            56.4,
            -0.29,
            14.251,
            5.7641,
            -2.301200,
            1.523,
            25.1,
            -0.12,
            13.899,
            0.3735,
            31085.508580,
            -1.324,
            12.4,
            -0.08,
            13.194,
            1.7595,
            -9443.319984,
            -5.231,
            -69.0,
            0.33,
            9.679,
            3.0997,
            -16029.080894,
            -3.072,
            -50.1,
            0.24,
            9.366,
            0.3016,
            24080.995180,
            -3.465,
            -19.9,
            0.08,
            8.606,
            4.1582,
            -1742.930514,
            -3.681,
            -44.0,
            0.21,
            8.453,
            2.8416,
            16100.068570,
            1.192,
            28.2,
            -0.14,
            8.050,
            2.6292,
            14286.150380,
            -0.609,
            6.1,
            -0.03,
            7.630,
            6.2388,
            17285.684804,
            3.019,
            50.2,
            -0.25,
            7.447,
            1.4845,
            1256.603910,
            -0.053,
            0.1,
            -0.01,
            7.371,
            0.2736,
            5957.458955,
            -2.131,
            -19.0,
            0.09,
            7.063,
            5.6715,
            33.757047,
            -0.308,
            -3.6,
            0.02,
            6.383,
            4.7843,
            7004.513400,
            2.141,
            32.4,
            -0.16,
            5.742,
            2.6572,
            32409.686605,
            -1.942,
            5.0,
            -0.05,
            4.374,
            4.3443,
            22128.51520,
            -2.820,
            -13.0,
            0.05,
            3.998,
            3.2545,
            33524.31516,
            1.766,
            49.0,
            -0.25,
            3.210,
            2.2443,
            14985.44001,
            -2.516,
            -16.0,
            0.06,
            2.915,
            1.7138,
            24499.74767,
            0.834,
            31.0,
            -0.17,
            2.732,
            1.9887,
            13799.82378,
            -4.343,
            -38.0,
            0.17,
            2.568,
            5.4122,
            -7072.08751,
            -1.576,
            -25.0,
            0.11,
            2.521,
            3.2427,
            8470.66678,
            -2.238,
            -19.0,
            0.07,
            2.489,
            4.0719,
            -486.32660,
            -3.734,
            -44.0,
            0.20,
            2.146,
            5.6135,
            -1952.47998,
            0.645,
            7.0,
            -0.03,
            1.978,
            2.7291,
            39414.20000,
            0.199,
            37.0,
            -0.21,
            1.934,
            1.5682,
            33314.76570,
            6.092,
            100.0,
            -0.5,
            1.871,
            0.4166,
            30457.20662,
            -1.297,
            12.0,
            -0.1,
            1.753,
            2.0582,
            -8886.00570,
            -3.38,
            -47.0,
            0.2,
            1.437,
            2.386,
            -695.87607,
            0.59,
            7.0,
            0.0,
            1.373,
            3.026,
            -209.54947,
            4.33,
            51.0,
            -0.2,
            1.262,
            5.940,
            16728.37052,
            1.17,
            28.0,
            -0.1,
            1.224,
            6.172,
            6656.74859,
            -4.04,
            -41.0,
            0.2,
            1.187,
            5.873,
            6099.43431,
            -5.89,
            -63.0,
            0.3,
            1.177,
            1.014,
            31571.83518,
            2.41,
            56.0,
            -0.3,
            1.162,
            3.840,
            9585.29534,
            1.47,
            25.0,
            -0.1,
            1.143,
            5.639,
            8364.73984,
            -2.18,
            -19.0,
            0.1,
            1.078,
            1.229,
            70.98768,
            -1.88,
            -22.0,
            0.1,
            1.059,
            3.326,
            40528.82856,
            3.91,
            81.0,
            -0.4,
            0.990,
            5.013,
            40738.37803,
            -0.42,
            30.0,
            -0.2,
            0.948,
            5.687,
            -17772.01141,
            -6.75,
            -94.0,
            0.5,
            0.876,
            0.298,
            -0.35232,
            0.0,
            0.0,
            0.0,
            0.822,
            2.994,
            393.02097,
            0.0,
            0.0,
            0.0,
            0.788,
            1.836,
            8326.39022,
            3.05,
            50.0,
            -0.2,
            0.752,
            4.985,
            22614.84180,
            0.91,
            31.0,
            -0.2,
            0.740,
            2.875,
            8330.99262,
            0.0,
            0.0,
            0.0,
            0.669,
            0.744,
            -24357.77232,
            -4.60,
            -75.0,
            0.4,
            0.644,
            1.314,
            8393.12577,
            -2.18,
            -19.0,
            0.1,
            0.639,
            5.888,
            575.33849,
            0.0,
            0.0,
            0.0,
            0.635,
            1.116,
            23385.11911,
            -2.87,
            -13.0,
            0.0,
            0.584,
            5.197,
            24428.75999,
            2.71,
            53.0,
            -0.3,
            0.583,
            3.513,
            -9095.55517,
            0.95,
            4.0,
            0.0,
            0.572,
            6.059,
            29970.88002,
            -5.03,
            -32.0,
            0.1,
            0.565,
            2.960,
            0.32863,
            1.52,
            25.0,
            -0.1,
            0.561,
            4.001,
            -17981.56087,
            -2.43,
            -43.0,
            0.2,
            0.557,
            0.529,
            7143.07519,
            -0.30,
            3.0,
            0.0,
            0.546,
            2.311,
            25614.37623,
            4.54,
            75.0,
            -0.4,
            0.536,
            4.229,
            15752.30376,
            -4.99,
            -45.0,
            0.2,
            0.493,
            3.316,
            -8294.9344,
            -1.83,
            -29.0,
            0.1,
            0.491,
            1.744,
            8362.4485,
            1.21,
            21.0,
            -0.1,
            0.478,
            1.803,
            -10071.6219,
            -5.20,
            -69.0,
            0.3,
            0.454,
            0.857,
            15333.2048,
            3.66,
            57.0,
            -0.3,
            0.445,
            2.071,
            8311.7707,
            -2.18,
            -19.0,
            0.1,
            0.426,
            0.345,
            23452.6932,
            -3.44,
            -20.0,
            0.1,
            0.420,
            4.941,
            33733.8646,
            -2.56,
            -2.0,
            0.0,
            0.413,
            1.642,
            17495.2343,
            -1.31,
            -1.0,
            0.0,
            0.404,
            1.458,
            23314.1314,
            -0.99,
            9.0,
            -0.1,
            0.395,
            2.132,
            38299.5714,
            -3.51,
            -6.0,
            0.0,
            0.382,
            2.700,
            31781.3846,
            -1.92,
            5.0,
            0.0,
            0.375,
            4.827,
            6376.2114,
            2.17,
            32.0,
            -0.2,
            0.361,
            3.867,
            16833.1753,
            -0.97,
            3.0,
            0.0,
            0.358,
            5.044,
            15056.4277,
            -4.40,
            -38.0,
            0.2,
            0.350,
            5.157,
            -8257.7037,
            -3.40,
            -47.0,
            0.2,
            0.344,
            4.233,
            157.7344,
            0.0,
            0.0,
            0.0,
            0.340,
            2.672,
            13657.8484,
            -0.58,
            6.0,
            0.0,
            0.329,
            5.610,
            41853.0066,
            3.29,
            74.0,
            -0.4,
            0.325,
            5.895,
            -39.8149,
            0.0,
            0.0,
            0.0,
            0.309,
            4.387,
            21500.2132,
            -2.79,
            -13.0,
            0.1,
            0.302,
            1.278,
            786.0419,
            0.0,
            0.0,
            0.0,
            0.302,
            5.341,
            -24567.3218,
            -0.27,
            -24.0,
            0.1,
            0.301,
            1.045,
            5889.8848,
            -1.57,
            -12.0,
            0.0,
            0.294,
            4.201,
            -2371.2325,
            -3.65,
            -44.0,
            0.2,
            0.293,
            3.704,
            21642.1886,
            -6.55,
            -57.0,
            0.2,
            0.290,
            4.069,
            32828.4391,
            2.36,
            56.0,
            -0.3,
            0.289,
            3.472,
            31713.8105,
            -1.35,
            12.0,
            -0.1,
            0.285,
            5.407,
            -33.7814,
            0.31,
            4.0,
            0.0,
            0.283,
            5.998,
            -16.9207,
            -3.71,
            -44.0,
            0.2,
            0.283,
            2.772,
            38785.8980,
            0.23,
            37.0,
            -0.2,
            0.274,
            5.343,
            15613.7420,
            -2.54,
            -16.0,
            0.1,
            0.263,
            3.997,
            25823.9257,
            0.22,
            24.0,
            -0.1,
            0.254,
            0.600,
            24638.3095,
            -1.61,
            2.0,
            0.0,
            0.253,
            1.344,
            6447.1991,
            0.29,
            10.0,
            -0.1,
            0.250,
            0.887,
            141.9754,
            -3.76,
            -44.0,
            0.2,
            0.247,
            0.317,
            5329.1570,
            -2.10,
            -19.0,
            0.1,
            0.245,
            0.141,
            36.0484,
            -3.71,
            -44.0,
            0.2,
            0.231,
            2.287,
            14357.1381,
            -2.49,
            -16.0,
            0.1,
            0.227,
            5.158,
            2.6298,
            0.0,
            0.0,
            0.0,
            0.219,
            5.085,
            47742.8914,
            1.72,
            63.0,
            -0.3,
            0.211,
            2.145,
            6638.7244,
            -2.18,
            -19.0,
            0.1,
            0.201,
            4.415,
            39623.7495,
            -4.13,
            -14.0,
            0.0,
            0.194,
            2.091,
            588.4927,
            0.0,
            0.0,
            0.0,
            0.193,
            3.057,
            -15400.7789,
            -3.10,
            -50.0,
            0.0,
            0.186,
            5.598,
            16799.3582,
            -0.72,
            6.0,
            0.0,
            0.185,
            3.886,
            1150.6770,
            0.0,
            0.0,
            0.0,
            0.183,
            1.619,
            7178.0144,
            1.52,
            25.0,
            0.0,
            0.181,
            2.635,
            8328.3391,
            1.52,
            25.0,
            0.0,
            0.181,
            2.077,
            8329.0437,
            1.52,
            25.0,
            0.0,
            0.179,
            3.215,
            -9652.8694,
            -0.90,
            -18.0,
            0.0,
            0.176,
            1.716,
            -8815.0180,
            -5.26,
            -69.0,
            0.0,
            0.175,
            5.673,
            550.7553,
            0.0,
            0.0,
            0.0,
            0.170,
            2.060,
            31295.0580,
            -5.6,
            -39.0,
            0.0,
            0.167,
            1.239,
            7211.7617,
            -0.7,
            6.0,
            0.0,
            0.165,
            4.499,
            14967.4158,
            -0.7,
            6.0,
            0.0,
            0.164,
            3.595,
            15540.4531,
            0.9,
            31.0,
            0.0,
            0.164,
            4.237,
            522.3694,
            0.0,
            0.0,
            0.0,
            0.163,
            4.633,
            15545.0555,
            -2.2,
            -19.0,
            0.0,
            0.161,
            0.478,
            6428.0209,
            -2.2,
            -19.0,
            0.0,
            0.158,
            2.03,
            13171.5218,
            -4.3,
            -38.0,
            0.0,
            0.157,
            2.28,
            7216.3641,
            -3.7,
            -44.0,
            0.0,
            0.154,
            5.65,
            7935.6705,
            1.5,
            25.0,
            0.0,
            0.152,
            0.46,
            29828.9047,
            -1.3,
            12.0,
            0.0,
            0.151,
            1.19,
            -0.7113,
            0.0,
            0.0,
            0.0,
            0.150,
            1.42,
            23942.4334,
            -1.0,
            9.0,
            0.0,
            0.144,
            2.75,
            7753.3529,
            1.5,
            25.0,
            0.0,
            0.137,
            2.08,
            7213.7105,
            -2.2,
            -19.0,
            0.0,
            0.137,
            1.44,
            7214.4152,
            -2.2,
            -19.0,
            0.0,
            0.136,
            4.46,
            -1185.6162,
            -1.8,
            -22.0,
            0.0,
            0.136,
            3.03,
            8000.1048,
            -2.2,
            -19.0,
            0.0,
            0.134,
            2.83,
            14756.7124,
            -0.7,
            6.0,
            0.0,
            0.131,
            5.05,
            6821.0419,
            -2.2,
            -19.0,
            0.0,
            0.128,
            5.99,
            -17214.6971,
            -4.9,
            -72.0,
            0.0,
            0.127,
            5.35,
            8721.7124,
            1.5,
            25.0,
            0.0,
            0.126,
            4.49,
            46628.2629,
            -2.0,
            19.0,
            0.0,
            0.125,
            5.94,
            7149.6285,
            1.5,
            25.0,
            0.0,
            0.124,
            1.09,
            49067.0695,
            1.1,
            55.0,
            0.0,
            0.121,
            2.88,
            15471.7666,
            1.2,
            28.0,
            0.0,
            0.111,
            3.92,
            41643.4571,
            7.6,
            125.0,
            -1.0,
            0.110,
            1.96,
            8904.0299,
            1.5,
            25.0,
            0.0,
            0.106,
            3.30,
            -18.0489,
            -2.2,
            -19.0,
            0.0,
            0.105,
            2.30,
            -4.9310,
            1.5,
            25.0,
            0.0,
            0.104,
            2.22,
            -6.5590,
            -1.9,
            -22.0,
            0.0,
            0.101,
            1.44,
            1884.9059,
            -0.1,
            0.0,
            0.0,
            0.100,
            5.92,
            5471.1324,
            -5.9,
            -63.0,
            0.0,
            0.099,
            1.12,
            15149.7333,
            -0.7,
            6.0,
            0.0,
            0.096,
            4.73,
            15508.9972,
            -0.4,
            10.0,
            0.0,
            0.095,
            5.18,
            7230.9835,
            1.5,
            25.0,
            0.0,
            0.093,
            3.37,
            39900.5266,
            3.9,
            81.0,
            0.0,
            0.092,
            2.01,
            25057.0619,
            2.7,
            53.0,
            0.0,
            0.092,
            1.21,
            -79.6298,
            0.0,
            0.0,
            0.0,
            0.092,
            1.65,
            -26310.2523,
            -4.0,
            -68.0,
            0.0,
            0.091,
            1.01,
            42062.5561,
            -1.0,
            23.0,
            0.0,
            0.090,
            6.10,
            29342.5781,
            -5.0,
            -32.0,
            0.0,
            0.090,
            4.43,
            15542.4020,
            -0.7,
            6.0,
            0.0,
            0.090,
            3.80,
            15543.1066,
            -0.7,
            6.0,
            0.0,
            0.089,
            4.15,
            6063.3859,
            -2.2,
            -19.0,
            0.0,
            0.086,
            4.03,
            52.9691,
            0.0,
            0.0,
            0.0,
            0.085,
            0.49,
            47952.4409,
            -2.6,
            11.0,
            0.0,
            0.085,
            1.60,
            7632.8154,
            2.1,
            32.0,
            0.0,
            0.084,
            0.22,
            14392.0773,
            -0.7,
            6.0,
            0.0,
            0.083,
            6.22,
            6028.4466,
            -4.0,
            -41.0,
            0.0,
            0.083,
            0.63,
            -7909.9389,
            2.8,
            26.0,
            0.0,
            0.083,
            5.20,
            -77.5523,
            0.0,
            0.0,
            0.0,
            0.082,
            2.74,
            8786.1467,
            -2.2,
            -19.0,
            0.0,
            0.080,
            2.43,
            9166.5428,
            -2.8,
            -26.0,
            0.0,
            0.080,
            3.70,
            -25405.1732,
            4.1,
            27.0,
            0.0,
            0.078,
            5.68,
            48857.5200,
            5.4,
            106.0,
            -1.0,
            0.077,
            1.85,
            8315.5735,
            -2.2,
            -19.0,
            0.0,
            0.075,
            5.46,
            -18191.1103,
            1.9,
            8.0,
            0.0,
            0.075,
            1.41,
            -16238.6304,
            1.3,
            1.0,
            0.0,
            0.074,
            5.06,
            40110.0761,
            -0.4,
            30.0,
            0.0,
            0.072,
            2.10,
            64.4343,
            -3.7,
            -44.0,
            0.0,
            0.071,
            2.17,
            37671.2695,
            -3.5,
            -6.0,
            0.0,
            0.069,
            1.71,
            16693.4313,
            -0.7,
            6.0,
            0.0,
            0.069,
            3.33,
            -26100.7028,
            -8.3,
            -119.0,
            1.0,
            0.068,
            1.09,
            8329.4028,
            1.5,
            25.0,
            0.0,
            0.068,
            3.62,
            8327.9801,
            1.5,
            25.0,
            0.0,
            0.068,
            2.41,
            16833.1509,
            -1.0,
            3.0,
            0.0,
            0.067,
            3.40,
            24709.2971,
            -3.5,
            -20.0,
            0.0,
            0.067,
            1.65,
            8346.7156,
            -0.3,
            3.0,
            0.0,
            0.066,
            2.61,
            22547.2677,
            1.5,
            39.0,
            0.0,
            0.066,
            3.50,
            15576.5113,
            -1.0,
            3.0,
            0.0,
            0.065,
            5.76,
            33037.9886,
            -2.0,
            5.0,
            0.0,
            0.065,
            4.58,
            8322.1325,
            -0.3,
            3.0,
            0.0,
            0.065,
            6.20,
            17913.9868,
            3.0,
            50.0,
            0.0,
            0.065,
            1.50,
            22685.8295,
            -1.0,
            9.0,
            0.0,
            0.065,
            2.37,
            7180.3058,
            -1.9,
            -15.0,
            0.0,
            0.064,
            1.06,
            30943.5332,
            2.4,
            56.0,
            0.0,
            0.064,
            1.89,
            8288.8765,
            1.5,
            25.0,
            0.0,
            0.064,
            4.70,
            6.0335,
            0.3,
            4.0,
            0.0,
            0.063,
            2.83,
            8368.5063,
            1.5,
            25.0,
            0.0,
            0.063,
            5.66,
            -2580.7819,
            0.7,
            7.0,
            0.0,
            0.062,
            3.78,
            7056.3285,
            -2.2,
            -19.0,
            0.0,
            0.061,
            1.49,
            8294.9100,
            1.8,
            29.0,
            0.0,
            0.061,
            0.12,
            -10281.1714,
            -0.9,
            -18.0,
            0.0,
            0.061,
            3.06,
            -8362.4729,
            -1.2,
            -21.0,
            0.0,
            0.061,
            4.43,
            8170.9571,
            1.5,
            25.0,
            0.0,
            0.059,
            5.78,
            -13.1179,
            -3.7,
            -44.0,
            0.0,
            0.059,
            5.97,
            6625.5702,
            -2.2,
            -19.0,
            0.0,
            0.058,
            5.01,
            -0.5080,
            -0.3,
            0.0,
            0.0,
            0.058,
            2.73,
            7161.0938,
            -2.2,
            -19.0,
            0.0,
            0.057,
            0.19,
            7214.0629,
            -2.2,
            -19.0,
            0.0,
            0.057,
            4.00,
            22199.5029,
            -4.7,
            -35.0,
            0.0,
            0.057,
            5.38,
            8119.1420,
            5.8,
            76.0,
            0.0,
            0.056,
            1.07,
            7542.6495,
            1.5,
            25.0,
            0.0,
            0.056,
            0.28,
            8486.4258,
            1.5,
            25.0,
            0.0,
            0.054,
            4.19,
            16655.0816,
            4.6,
            75.0,
            0.0,
            0.053,
            0.72,
            7267.0320,
            -2.2,
            -19.0,
            0.0,
            0.053,
            3.12,
            12.6192,
            0.6,
            7.0,
            0.0,
            0.052,
            2.99,
            -32896.013,
            -1.8,
            -49.0,
            0.0,
            0.052,
            3.46,
            1097.708,
            0.0,
            0.0,
            0.0,
            0.051,
            5.37,
            -6443.786,
            -1.6,
            -25.0,
            0.0,
            0.051,
            1.35,
            7789.401,
            -2.2,
            -19.0,
            0.0,
            0.051,
            5.83,
            40042.502,
            0.2,
            38.0,
            0.0,
            0.051,
            3.63,
            9114.733,
            1.5,
            25.0,
            0.0,
            0.050,
            1.51,
            8504.484,
            -2.5,
            -22.0,
            0.0,
            0.050,
            5.23,
            16659.684,
            1.5,
            25.0,
            0.0,
            0.050,
            1.15,
            7247.820,
            -2.5,
            -23.0,
            0.0,
            0.047,
            0.25,
            -1290.421,
            0.3,
            0.0,
            0.0,
            0.047,
            4.67,
            -32686.464,
            -6.1,
            -100.0,
            0.0,
            0.047,
            3.49,
            548.678,
            0.0,
            0.0,
            0.0,
            0.047,
            2.37,
            6663.308,
            -2.2,
            -19.0,
            0.0,
            0.046,
            0.98,
            1572.084,
            0.0,
            0.0,
            0.0,
            0.046,
            2.04,
            14954.262,
            -0.7,
            6.0,
            0.0,
            0.046,
            3.72,
            6691.693,
            -2.2,
            -19.0,
            0.0,
            0.045,
            6.19,
            -235.287,
            0.0,
            0.0,
            0.0,
            0.044,
            2.96,
            32967.001,
            -0.1,
            27.0,
            0.0,
            0.044,
            3.82,
            -1671.943,
            -5.6,
            -66.0,
            0.0,
            0.043,
            5.82,
            1179.063,
            0.0,
            0.0,
            0.0,
            0.043,
            0.07,
            34152.617,
            1.7,
            49.0,
            0.0,
            0.043,
            3.71,
            6514.773,
            -0.3,
            0.0,
            0.0,
            0.043,
            5.62,
            15.732,
            -2.5,
            -23.0,
            0.0,
            0.043,
            5.80,
            8351.233,
            -2.2,
            -19.0,
            0.0,
            0.042,
            0.27,
            7740.199,
            1.5,
            25.0,
            0.0,
            0.042,
            6.14,
            15385.020,
            -0.7,
            6.0,
            0.0,
            0.042,
            6.13,
            7285.051,
            -4.1,
            -41.0,
            0.0,
            0.041,
            1.27,
            32757.451,
            4.2,
            78.0,
            0.0,
            0.041,
            4.46,
            8275.722,
            1.5,
            25.0,
            0.0,
            0.040,
            0.23,
            8381.661,
            1.5,
            25.0,
            0.0,
            0.040,
            5.87,
            -766.864,
            2.5,
            29.0,
            0.0,
            0.040,
            1.66,
            254.431,
            0.0,
            0.0,
            0.0,
            0.040,
            0.40,
            9027.981,
            -0.4,
            0.0,
            0.0,
            0.040,
            2.96,
            7777.936,
            1.5,
            25.0,
            0.0,
            0.039,
            4.67,
            33943.068,
            6.1,
            100.0,
            0.0,
            0.039,
            3.52,
            8326.062,
            1.5,
            25.0,
            0.0,
            0.039,
            3.75,
            21013.887,
            -6.5,
            -57.0,
            0.0,
            0.039,
            5.60,
            606.978,
            0.0,
            0.0,
            0.0,
            0.039,
            1.19,
            8331.321,
            1.5,
            25.0,
            0.0,
            0.039,
            2.84,
            7211.433,
            -2.2,
            -19.0,
            0.0,
            0.038,
            0.67,
            7216.693,
            -2.2,
            -19.0,
            0.0,
            0.038,
            6.22,
            25161.867,
            0.6,
            28.0,
            0.0,
            0.038,
            4.40,
            7806.322,
            1.5,
            25.0,
            0.0,
            0.038,
            4.16,
            9179.168,
            -2.2,
            -19.0,
            0.0,
            0.037,
            4.73,
            14991.999,
            -0.7,
            6.0,
            0.0,
            0.036,
            0.35,
            67.514,
            -0.6,
            -7.0,
            0.0,
            0.036,
            3.70,
            25266.611,
            -1.6,
            0.0,
            0.0,
            0.036,
            5.39,
            16328.796,
            -0.7,
            6.0,
            0.0,
            0.035,
            1.44,
            7174.248,
            -2.2,
            -19.0,
            0.0,
            0.035,
            5.00,
            15684.730,
            -4.4,
            -38.0,
            0.0,
            0.035,
            0.39,
            -15.419,
            -2.2,
            -19.0,
            0.0,
            0.035,
            6.07,
            15020.385,
            -0.7,
            6.0,
            0.0,
            0.034,
            6.01,
            7371.797,
            -2.2,
            -19.0,
            0.0,
            0.034,
            0.96,
            -16623.626,
            -3.4,
            -54.0,
            0.0,
            0.033,
            6.24,
            9479.368,
            1.5,
            25.0,
            0.0,
            0.033,
            3.21,
            23661.896,
            5.2,
            82.0,
            0.0,
            0.033,
            4.06,
            8311.418,
            -2.2,
            -19.0,
            0.0,
            0.033,
            2.40,
            1965.105,
            0.0,
            0.0,
            0.0,
            0.033,
            5.17,
            15489.785,
            -0.7,
            6.0,
            0.0,
            0.033,
            5.03,
            21986.540,
            0.9,
            31.0,
            0.0,
            0.033,
            4.10,
            16691.140,
            2.7,
            46.0,
            0.0,
            0.033,
            5.13,
            47114.589,
            1.7,
            63.0,
            0.0,
            0.033,
            4.45,
            8917.184,
            1.5,
            25.0,
            0.0,
            0.033,
            4.23,
            2.078,
            0.0,
            0.0,
            0.0,
            0.032,
            2.33,
            75.251,
            1.5,
            25.0,
            0.0,
            0.032,
            2.10,
            7253.878,
            -2.2,
            -19.0,
            0.0,
            0.032,
            3.11,
            -0.224,
            1.5,
            25.0,
            0.0,
            0.032,
            4.43,
            16640.462,
            -0.7,
            6.0,
            0.0,
            0.032,
            5.68,
            8328.363,
            0.0,
            0.0,
            0.0,
            0.031,
            5.32,
            8329.020,
            3.0,
            50.0,
            0.0,
            0.031,
            3.70,
            16118.093,
            -0.7,
            6.0,
            0.0,
            0.030,
            3.67,
            16721.817,
            -0.7,
            6.0,
            0.0,
            0.030,
            5.27,
            -1881.492,
            -1.2,
            -15.0,
            0.0,
            0.030,
            5.72,
            8157.839,
            -2.2,
            -19.0,
            0.0,
            0.029,
            5.73,
            -18400.313,
            -6.7,
            -94.0,
            0.0,
            0.029,
            2.76,
            16.000,
            -2.2,
            -19.0,
            0.0,
            0.029,
            1.75,
            8879.447,
            1.5,
            25.0,
            0.0,
            0.029,
            0.32,
            8851.061,
            1.5,
            25.0,
            0.0,
            0.029,
            0.90,
            14704.903,
            3.7,
            57.0,
            0.0,
            0.028,
            2.90,
            15595.723,
            -0.7,
            6.0,
            0.0,
            0.028,
            5.88,
            16864.631,
            0.2,
            24.0,
            0.0,
            0.028,
            0.63,
            16869.234,
            -2.8,
            -26.0,
            0.0,
            0.028,
            4.04,
            -18609.863,
            -2.4,
            -43.0,
            0.0,
            0.027,
            5.83,
            6727.736,
            -5.9,
            -63.0,
            0.0,
            0.027,
            6.12,
            418.752,
            4.3,
            51.0,
            0.0,
            0.027,
            0.14,
            41157.131,
            3.9,
            81.0,
            0.0,
            0.026,
            3.80,
            15.542,
            0.0,
            0.0,
            0.0,
            0.026,
            1.68,
            50181.698,
            4.8,
            99.0,
            -1.0,
            0.026,
            0.32,
            315.469,
            0.0,
            0.0,
            0.0,
            0.025,
            5.67,
            19.188,
            0.3,
            0.0,
            0.0,
            0.025,
            3.16,
            62.133,
            -2.2,
            -19.0,
            0.0,
            0.025,
            3.76,
            15502.939,
            -0.7,
            6.0,
            0.0,
            0.025,
            4.53,
            45999.961,
            -2.0,
            19.0,
            0.0,
            0.024,
            3.21,
            837.851,
            -4.4,
            -51.0,
            0.0,
            0.024,
            2.82,
            38157.596,
            0.3,
            37.0,
            0.0,
            0.024,
            5.21,
            15540.124,
            -0.7,
            6.0,
            0.0,
            0.024,
            0.26,
            14218.576,
            0.0,
            13.0,
            0.0,
            0.024,
            3.01,
            15545.384,
            -0.7,
            6.0,
            0.0,
            0.024,
            1.16,
            -17424.247,
            -0.6,
            -21.0,
            0.0,
            0.023,
            2.34,
            -67.574,
            0.6,
            7.0,
            0.0,
            0.023,
            2.44,
            18.024,
            -1.9,
            -22.0,
            0.0,
            0.023,
            3.70,
            469.400,
            0.0,
            0.0,
            0.0,
            0.023,
            0.72,
            7136.511,
            -2.2,
            -19.0,
            0.0,
            0.023,
            4.50,
            15582.569,
            -0.7,
            6.0,
            0.0,
            0.023,
            2.80,
            -16586.395,
            -4.9,
            -72.0,
            0.0,
            0.023,
            1.51,
            80.182,
            0.0,
            0.0,
            0.0,
            0.023,
            1.09,
            5261.583,
            -1.5,
            -12.0,
            0.0,
            0.023,
            0.56,
            54956.954,
            -0.5,
            44.0,
            0.0,
            0.023,
            4.01,
            8550.860,
            -2.2,
            -19.0,
            0.0,
            0.023,
            4.46,
            38995.448,
            -4.1,
            -14.0,
            0.0,
            0.023,
            3.82,
            2358.126,
            0.0,
            0.0,
            0.0,
            0.022,
            3.77,
            32271.125,
            0.5,
            34.0,
            0.0,
            0.022,
            0.82,
            15935.775,
            -0.7,
            6.0,
            0.0,
            0.022,
            1.07,
            24013.421,
            -2.9,
            -13.0,
            0.0,
            0.022,
            0.40,
            8940.078,
            -2.2,
            -19.0,
            0.0,
            0.022,
            2.06,
            15700.489,
            -0.7,
            6.0,
            0.0,
            0.022,
            4.27,
            15124.002,
            -5.0,
            -45.0,
            0.0,
            0.021,
            1.16,
            56071.583,
            3.2,
            88.0,
            0.0,
            0.021,
            5.58,
            9572.189,
            -2.2,
            -19.0,
            0.0,
            0.020,
            1.70,
            -17.273,
            -3.7,
            -44.0,
            0.0,
            0.020,
            3.05,
            214.617,
            0.0,
            0.0,
            0.0,
            0.020,
            4.41,
            8391.048,
            -2.2,
            -19.0,
            0.0,
            0.020,
            5.95,
            23869.145,
            2.4,
            56.0,
            0.0,
            0.020,
            0.42,
            40947.927,
            -4.7,
            -21.0,
            0.0,
            0.019,
            1.39,
            5818.897,
            0.3,
            10.0,
            0.0,
            0.019,
            0.71,
            23873.747,
            -0.7,
            6.0,
            0.0,
            0.019,
            2.81,
            7291.615,
            -2.2,
            -19.0,
            0.0,
            0.019,
            5.09,
            8428.018,
            -2.2,
            -19.0,
            0.0,
            0.019,
            4.14,
            6518.187,
            -1.6,
            -12.0,
            0.0,
            0.019,
            3.85,
            21.330,
            0.0,
            0.0,
            0.0,
            0.018,
            0.66,
            14445.046,
            -0.7,
            6.0,
            0.0,
            0.018,
            1.65,
            0.966,
            -4.0,
            -48.0,
            0.0,
            0.018,
            5.64,
            -17143.709,
            -6.8,
            -94.0,
            0.0,
            0.018,
            6.01,
            7736.432,
            -2.2,
            -19.0,
            0.0,
            0.018,
            2.74,
            31153.083,
            -1.9,
            5.0,
            0.0,
            0.018,
            4.58,
            6116.355,
            -2.2,
            -19.0,
            0.0,
            0.018,
            2.28,
            46.401,
            0.3,
            0.0,
            0.0,
            0.018,
            3.80,
            10213.597,
            1.4,
            25.0,
            0.0,
            0.018,
            2.84,
            56281.132,
            -1.1,
            36.0,
            0.0,
            0.018,
            3.53,
            8249.062,
            1.5,
            25.0,
            0.0,
            0.017,
            4.43,
            20871.911,
            -3.0,
            -13.0,
            0.0,
            0.017,
            4.44,
            627.596,
            0.0,
            0.0,
            0.0,
            0.017,
            1.85,
            628.308,
            0.0,
            0.0,
            0.0,
            0.017,
            1.19,
            8408.321,
            2.0,
            25.0,
            0.0,
            0.017,
            1.95,
            7214.056,
            -2.0,
            -19.0,
            0.0,
            0.017,
            1.57,
            7214.070,
            -2.0,
            -19.0,
            0.0,
            0.017,
            1.65,
            13870.811,
            -6.0,
            -60.0,
            0.0,
            0.017,
            0.30,
            22.542,
            -4.0,
            -44.0,
            0.0,
            0.017,
            2.62,
            -119.445,
            0.0,
            0.0,
            0.0,
            0.016,
            4.87,
            5747.909,
            2.0,
            32.0,
            0.0,
            0.016,
            4.45,
            14339.108,
            -1.0,
            6.0,
            0.0,
            0.016,
            1.83,
            41366.680,
            0.0,
            30.0,
            0.0,
            0.016,
            4.53,
            16309.618,
            -3.0,
            -23.0,
            0.0,
            0.016,
            2.54,
            15542.754,
            -1.0,
            6.0,
            0.0,
            0.016,
            6.05,
            1203.646,
            0.0,
            0.0,
            0.0,
            0.015,
            5.2,
            2751.147,
            0.0,
            0.0,
            0.0,
            0.015,
            1.8,
            -10699.924,
            -5.0,
            -69.0,
            0.0,
            0.015,
            0.4,
            22824.391,
            -3.0,
            -20.0,
            0.0,
            0.015,
            2.1,
            30666.756,
            -6.0,
            -39.0,
            0.0,
            0.015,
            2.1,
            6010.417,
            -2.0,
            -19.0,
            0.0,
            0.015,
            0.7,
            -23729.470,
            -5.0,
            -75.0,
            0.0,
            0.015,
            1.4,
            14363.691,
            -1.0,
            6.0,
            0.0,
            0.015,
            5.8,
            16900.689,
            -2.0,
            0.0,
            0.0,
            0.015,
            5.2,
            23800.458,
            3.0,
            53.0,
            0.0,
            0.015,
            5.3,
            6035.000,
            -2.0,
            -19.0,
            0.0,
            0.015,
            1.2,
            8251.139,
            2.0,
            25.0,
            0.0,
            0.015,
            3.6,
            -8.860,
            0.0,
            0.0,
            0.0,
            0.015,
            0.8,
            882.739,
            0.0,
            0.0,
            0.0,
            0.015,
            3.0,
            1021.329,
            0.0,
            0.0,
            0.0,
            0.015,
            0.6,
            23296.107,
            1.0,
            31.0,
            0.0,
            0.014,
            5.4,
            7227.181,
            2.0,
            25.0,
            0.0,
            0.014,
            0.1,
            7213.352,
            -2.0,
            -19.0,
            0.0,
            0.014,
            4.0,
            15506.706,
            3.0,
            50.0,
            0.0,
            0.014,
            3.4,
            7214.774,
            -2.0,
            -19.0,
            0.0,
            0.014,
            4.6,
            6665.385,
            -2.0,
            -19.0,
            0.0,
            0.014,
            0.1,
            -8.636,
            -2.0,
            -22.0,
            0.0,
            0.014,
            3.1,
            15465.202,
            -1.0,
            6.0,
            0.0,
            0.014,
            4.9,
            508.863,
            0.0,
            0.0,
            0.0,
            0.014,
            3.5,
            8406.244,
            2.0,
            25.0,
            0.0,
            0.014,
            1.3,
            13313.497,
            -8.0,
            -82.0,
            0.0,
            0.014,
            2.8,
            49276.619,
            -3.0,
            0.0,
            0.0,
            0.014,
            0.1,
            30528.194,
            -3.0,
            -10.0,
            0.0,
            0.013,
            1.7,
            25128.050,
            1.0,
            31.0,
            0.0,
            0.013,
            2.9,
            14128.405,
            -1.0,
            6.0,
            0.0,
            0.013,
            3.4,
            57395.761,
            3.0,
            80.0,
            0.0,
            0.013,
            2.7,
            13029.546,
            -1.0,
            6.0,
            0.0,
            0.013,
            3.9,
            7802.556,
            -2.0,
            -19.0,
            0.0,
            0.013,
            1.6,
            8258.802,
            -2.0,
            -19.0,
            0.0,
            0.013,
            2.2,
            8417.709,
            -2.0,
            -19.0,
            0.0,
            0.013,
            0.7,
            9965.210,
            -2.0,
            -19.0,
            0.0,
            0.013,
            3.4,
            50391.247,
            0.0,
            48.0,
            0.0,
            0.013,
            3.0,
            7134.433,
            -2.0,
            -19.0,
            0.0,
            0.013,
            2.9,
            30599.182,
            -5.0,
            -31.0,
            0.0,
            0.013,
            3.6,
            -9723.857,
            1.0,
            0.0,
            0.0,
            0.013,
            4.8,
            7607.084,
            -2.0,
            -19.0,
            0.0,
            0.012,
            0.8,
            23837.689,
            1.0,
            35.0,
            0.0,
            0.012,
            3.6,
            4.409,
            -4.0,
            -44.0,
            0.0,
            0.012,
            5.0,
            16657.031,
            3.0,
            50.0,
            0.0,
            0.012,
            4.4,
            16657.735,
            3.0,
            50.0,
            0.0,
            0.012,
            1.1,
            15578.803,
            -4.0,
            -38.0,
            0.0,
            0.012,
            6.0,
            -11.490,
            0.0,
            0.0,
            0.0,
            0.012,
            1.9,
            8164.398,
            0.0,
            0.0,
            0.0,
            0.012,
            2.4,
            31852.372,
            -4.0,
            -17.0,
            0.0,
            0.012,
            2.4,
            6607.085,
            -2.0,
            -19.0,
            0.0,
            0.012,
            4.2,
            8359.870,
            0.0,
            0.0,
            0.0,
            0.012,
            0.5,
            5799.713,
            -2.0,
            -19.0,
            0.0,
            0.012,
            2.7,
            7220.622,
            0.0,
            0.0,
            0.0,
            0.012,
            4.3,
            -139.720,
            0.0,
            0.0,
            0.0,
            0.012,
            2.3,
            13728.836,
            -2.0,
            -16.0,
            0.0,
            0.011,
            3.6,
            14912.146,
            1.0,
            31.0,
            0.0,
            0.011,
            4.7,
            14916.748,
            -2.0,
            -19.0,
            0.0
        ),
        doubleArrayOf(
            1.67680,
            4.66926,
            628.301955,
            -0.0266,
            0.1,
            -0.005,
            0.51642,
            3.3721,
            6585.760910,
            -2.158,
            -18.9,
            0.09,
            0.41383,
            5.7277,
            14914.452335,
            -0.635,
            6.2,
            -0.04,
            0.37115,
            3.9695,
            7700.389469,
            1.550,
            25.0,
            -0.12,
            0.27560,
            0.7416,
            8956.993380,
            1.496,
            25.1,
            -0.13,
            0.24599,
            4.2253,
            -2.301200,
            1.523,
            25.1,
            -0.12,
            0.07118,
            0.1443,
            7842.36482,
            -2.211,
            -19.0,
            0.08,
            0.06128,
            2.4998,
            16171.05625,
            -0.688,
            6.0,
            0.0,
            0.04516,
            0.443,
            8399.67910,
            -0.36,
            3.0,
            0.0,
            0.04048,
            5.771,
            14286.15038,
            -0.61,
            6.0,
            0.0,
            0.03747,
            4.626,
            1256.60391,
            -0.05,
            0.0,
            0.0,
            0.03707,
            3.415,
            5957.45895,
            -2.13,
            -19.0,
            0.1,
            0.03649,
            1.800,
            23243.14376,
            0.89,
            31.0,
            -0.2,
            0.02438,
            0.042,
            16029.08089,
            3.07,
            50.0,
            -0.2,
            0.02165,
            1.017,
            -1742.93051,
            -3.68,
            -44.0,
            0.2,
            0.01923,
            3.097,
            17285.68480,
            3.02,
            50.0,
            -0.3,
            0.01692,
            1.280,
            0.3286,
            1.52,
            25.0,
            -0.1,
            0.01361,
            0.298,
            8326.3902,
            3.05,
            50.0,
            -0.2,
            0.01293,
            4.013,
            7072.0875,
            1.58,
            25.0,
            -0.1,
            0.01276,
            4.413,
            8330.9926,
            0.0,
            0.0,
            0.0,
            0.01270,
            0.101,
            8470.6668,
            -2.24,
            -19.0,
            0.1,
            0.01097,
            1.203,
            22128.5152,
            -2.82,
            -13.0,
            0.0,
            0.01088,
            2.545,
            15542.7543,
            -0.66,
            6.0,
            0.0,
            0.00835,
            0.190,
            7214.0629,
            -2.18,
            -19.0,
            0.1,
            0.00734,
            4.855,
            24499.7477,
            0.83,
            31.0,
            -0.2,
            0.00686,
            5.130,
            13799.8238,
            -4.34,
            -38.0,
            0.2,
            0.00631,
            0.930,
            -486.3266,
            -3.73,
            -44.0,
            0.0,
            0.00585,
            0.699,
            9585.2953,
            1.5,
            25.0,
            0.0,
            0.00566,
            4.073,
            8328.3391,
            1.5,
            25.0,
            0.0,
            0.00566,
            0.638,
            8329.0437,
            1.5,
            25.0,
            0.0,
            0.00539,
            2.472,
            -1952.4800,
            0.6,
            7.0,
            0.0,
            0.00509,
            2.88,
            -0.7113,
            0.0,
            0.0,
            0.0,
            0.00469,
            3.56,
            30457.2066,
            -1.3,
            12.0,
            0.0,
            0.00387,
            0.78,
            -0.3523,
            0.0,
            0.0,
            0.0,
            0.00378,
            1.84,
            22614.8418,
            0.9,
            31.0,
            0.0,
            0.00362,
            5.53,
            -695.8761,
            0.6,
            7.0,
            0.0,
            0.00317,
            2.80,
            16728.3705,
            1.2,
            28.0,
            0.0,
            0.00303,
            6.07,
            157.7344,
            0.0,
            0.0,
            0.0,
            0.00300,
            2.53,
            33.7570,
            -0.3,
            -4.0,
            0.0,
            0.00295,
            4.16,
            31571.8352,
            2.4,
            56.0,
            0.0,
            0.00289,
            5.98,
            7211.7617,
            -0.7,
            6.0,
            0.0,
            0.00285,
            2.06,
            15540.4531,
            0.9,
            31.0,
            0.0,
            0.00283,
            2.65,
            2.6298,
            0.0,
            0.0,
            0.0,
            0.00282,
            6.17,
            15545.0555,
            -2.2,
            -19.0,
            0.0,
            0.00278,
            1.23,
            -39.8149,
            0.0,
            0.0,
            0.0,
            0.00272,
            3.82,
            7216.3641,
            -3.7,
            -44.0,
            0.0,
            0.00270,
            4.37,
            70.9877,
            -1.9,
            -22.0,
            0.0,
            0.00256,
            5.81,
            13657.8484,
            -0.6,
            6.0,
            0.0,
            0.00244,
            5.64,
            -0.2237,
            1.5,
            25.0,
            0.0,
            0.00240,
            2.96,
            8311.7707,
            -2.2,
            -19.0,
            0.0,
            0.00239,
            0.87,
            -33.7814,
            0.3,
            4.0,
            0.0,
            0.00216,
            2.31,
            15.9995,
            -2.2,
            -19.0,
            0.0,
            0.00186,
            3.46,
            5329.1570,
            -2.1,
            -19.0,
            0.0,
            0.00169,
            2.40,
            24357.772,
            4.6,
            75.0,
            0.0,
            0.00161,
            5.80,
            8329.403,
            1.5,
            25.0,
            0.0,
            0.00161,
            5.20,
            8327.980,
            1.5,
            25.0,
            0.0,
            0.00160,
            4.26,
            23385.119,
            -2.9,
            -13.0,
            0.0,
            0.00156,
            1.26,
            550.755,
            0.0,
            0.0,
            0.0,
            0.00155,
            1.25,
            21500.213,
            -2.8,
            -13.0,
            0.0,
            0.00152,
            0.60,
            -16.921,
            -3.7,
            -44.0,
            0.0,
            0.00150,
            2.71,
            -79.630,
            0.0,
            0.0,
            0.0,
            0.00150,
            5.29,
            15.542,
            0.0,
            0.0,
            0.0,
            0.00148,
            1.06,
            -2371.232,
            -3.7,
            -44.0,
            0.0,
            0.00141,
            0.77,
            8328.691,
            1.5,
            25.0,
            0.0,
            0.00141,
            3.67,
            7143.075,
            -0.3,
            0.0,
            0.0,
            0.00138,
            5.45,
            25614.376,
            4.5,
            75.0,
            0.0,
            0.00129,
            4.90,
            23871.446,
            0.9,
            31.0,
            0.0,
            0.00126,
            4.03,
            141.975,
            -3.8,
            -44.0,
            0.0,
            0.00124,
            6.01,
            522.369,
            0.0,
            0.0,
            0.0,
            0.00120,
            4.94,
            -10071.622,
            -5.2,
            -69.0,
            0.0,
            0.00118,
            5.07,
            -15.419,
            -2.2,
            -19.0,
            0.0,
            0.00107,
            3.49,
            23452.693,
            -3.4,
            -20.0,
            0.0,
            0.00104,
            4.78,
            17495.234,
            -1.3,
            0.0,
            0.0,
            0.00103,
            1.44,
            -18.049,
            -2.2,
            -19.0,
            0.0,
            0.00102,
            5.63,
            15542.402,
            -0.7,
            6.0,
            0.0,
            0.00102,
            2.59,
            15543.107,
            -0.7,
            6.0,
            0.0,
            0.00100,
            4.11,
            -6.559,
            -1.9,
            -22.0,
            0.0,
            0.00097,
            0.08,
            15400.779,
            3.1,
            50.0,
            0.0,
            0.00096,
            5.84,
            31781.385,
            -1.9,
            5.0,
            0.0,
            0.00094,
            1.08,
            8328.363,
            0.0,
            0.0,
            0.0,
            0.00094,
            2.46,
            16799.358,
            -0.7,
            6.0,
            0.0,
            0.00094,
            1.69,
            6376.211,
            2.2,
            32.0,
            0.0,
            0.00093,
            3.64,
            8329.020,
            3.0,
            50.0,
            0.0,
            0.00093,
            2.65,
            16655.082,
            4.6,
            75.0,
            0.0,
            0.00090,
            1.90,
            15056.428,
            -4.4,
            -38.0,
            0.0,
            0.00089,
            1.59,
            52.969,
            0.0,
            0.0,
            0.0,
            0.00088,
            2.02,
            -8257.704,
            -3.4,
            -47.0,
            0.0,
            0.00088,
            3.02,
            7213.711,
            -2.2,
            -19.0,
            0.0,
            0.00087,
            0.50,
            7214.415,
            -2.2,
            -19.0,
            0.0,
            0.00087,
            0.49,
            16659.684,
            1.5,
            25.0,
            0.0,
            0.00082,
            5.64,
            -4.931,
            1.5,
            25.0,
            0.0,
            0.00079,
            5.17,
            13171.522,
            -4.3,
            -38.0,
            0.0,
            0.00076,
            3.60,
            29828.905,
            -1.3,
            12.0,
            0.0,
            0.00076,
            4.08,
            24567.322,
            0.3,
            24.0,
            0.0,
            0.00076,
            4.58,
            1884.906,
            -0.1,
            0.0,
            0.0,
            0.00073,
            0.33,
            31713.811,
            -1.4,
            12.0,
            0.0,
            0.00073,
            0.93,
            32828.439,
            2.4,
            56.0,
            0.0,
            0.00071,
            5.91,
            38785.898,
            0.2,
            37.0,
            0.0,
            0.00069,
            2.20,
            15613.742,
            -2.5,
            -16.0,
            0.0,
            0.00066,
            3.87,
            15.732,
            -2.5,
            -23.0,
            0.0,
            0.00066,
            0.86,
            25823.926,
            0.2,
            24.0,
            0.0,
            0.00065,
            2.52,
            8170.957,
            1.5,
            25.0,
            0.0,
            0.00063,
            0.18,
            8322.132,
            -0.3,
            0.0,
            0.0,
            0.00060,
            5.84,
            8326.062,
            1.5,
            25.0,
            0.0,
            0.00060,
            5.15,
            8331.321,
            1.5,
            25.0,
            0.0,
            0.00060,
            2.18,
            8486.426,
            1.5,
            25.0,
            0.0,
            0.00058,
            2.30,
            -1.731,
            -4.0,
            -44.0,
            0.0,
            0.00058,
            5.43,
            14357.138,
            -2.0,
            -16.0,
            0.0,
            0.00057,
            3.09,
            8294.910,
            2.0,
            29.0,
            0.0,
            0.00057,
            4.67,
            -8362.473,
            -1.0,
            -21.0,
            0.0,
            0.00056,
            4.15,
            16833.151,
            -1.0,
            0.0,
            0.0,
            0.00054,
            1.93,
            7056.329,
            -2.0,
            -19.0,
            0.0,
            0.00054,
            5.27,
            8315.574,
            -2.0,
            -19.0,
            0.0,
            0.00052,
            5.6,
            8311.418,
            -2.0,
            -19.0,
            0.0,
            0.00052,
            2.7,
            -77.552,
            0.0,
            0.0,
            0.0,
            0.00051,
            4.3,
            7230.984,
            2.0,
            25.0,
            0.0,
            0.00050,
            0.4,
            -0.508,
            0.0,
            0.0,
            0.0,
            0.00049,
            5.4,
            7211.433,
            -2.0,
            -19.0,
            0.0,
            0.00049,
            4.4,
            7216.693,
            -2.0,
            -19.0,
            0.0,
            0.00049,
            4.3,
            16864.631,
            0.0,
            24.0,
            0.0,
            0.00049,
            2.2,
            16869.234,
            -3.0,
            -26.0,
            0.0,
            0.00047,
            6.1,
            627.596,
            0.0,
            0.0,
            0.0,
            0.00047,
            5.0,
            12.619,
            1.0,
            7.0,
            0.0,
            0.00045,
            4.9,
            -8815.018,
            -5.0,
            -69.0,
            0.0,
            0.00044,
            1.6,
            62.133,
            -2.0,
            -19.0,
            0.0,
            0.00042,
            2.9,
            -13.118,
            -4.0,
            -44.0,
            0.0,
            0.00042,
            4.1,
            -119.445,
            0.0,
            0.0,
            0.0,
            0.00041,
            4.3,
            22756.817,
            -3.0,
            -13.0,
            0.0,
            0.00041,
            3.6,
            8288.877,
            2.0,
            25.0,
            0.0,
            0.00040,
            0.5,
            6663.308,
            -2.0,
            -19.0,
            0.0,
            0.00040,
            1.1,
            8368.506,
            2.0,
            25.0,
            0.0,
            0.00039,
            4.1,
            6443.786,
            2.0,
            25.0,
            0.0,
            0.00039,
            3.1,
            16657.383,
            3.0,
            50.0,
            0.0,
            0.00038,
            0.1,
            16657.031,
            3.0,
            50.0,
            0.0,
            0.00038,
            3.0,
            16657.735,
            3.0,
            50.0,
            0.0,
            0.00038,
            4.6,
            23942.433,
            -1.0,
            9.0,
            0.0,
            0.00037,
            4.3,
            15385.020,
            -1.0,
            6.0,
            0.0,
            0.00037,
            5.0,
            548.678,
            0.0,
            0.0,
            0.0,
            0.00036,
            1.8,
            7213.352,
            -2.0,
            -19.0,
            0.0,
            0.00036,
            1.7,
            7214.774,
            -2.0,
            -19.0,
            0.0,
            0.00035,
            1.1,
            7777.936,
            2.0,
            25.0,
            0.0,
            0.00035,
            1.6,
            -8.860,
            0.0,
            0.0,
            0.0,
            0.00035,
            4.4,
            23869.145,
            2.0,
            56.0,
            0.0,
            0.00035,
            2.0,
            6691.693,
            -2.0,
            -19.0,
            0.0,
            0.00034,
            1.3,
            -1185.616,
            -2.0,
            -22.0,
            0.0,
            0.00034,
            2.2,
            23873.747,
            -1.0,
            6.0,
            0.0,
            0.00033,
            2.0,
            -235.287,
            0.0,
            0.0,
            0.0,
            0.00033,
            3.1,
            17913.987,
            3.0,
            50.0,
            0.0,
            0.00033,
            1.0,
            8351.233,
            -2.0,
            -19.0,
            0.0
        ),
        doubleArrayOf(
            0.004870,
            4.6693,
            628.30196,
            -0.027,
            0.0,
            -0.01,
            0.002280,
            2.6746,
            -2.30120,
            1.523,
            25.0,
            -0.12,
            0.001500,
            3.372,
            6585.76091,
            -2.16,
            -19.0,
            0.1,
            0.001200,
            5.728,
            14914.45233,
            -0.64,
            6.0,
            0.0,
            0.001080,
            3.969,
            7700.38947,
            1.55,
            25.0,
            -0.1,
            0.000800,
            0.742,
            8956.99338,
            1.50,
            25.0,
            -0.1,
            0.000254,
            6.002,
            0.3286,
            1.52,
            25.0,
            -0.1,
            0.000210,
            0.144,
            7842.3648,
            -2.21,
            -19.0,
            0.0,
            0.000180,
            2.500,
            16171.0562,
            -0.7,
            6.0,
            0.0,
            0.000130,
            0.44,
            8399.6791,
            -0.4,
            3.0,
            0.0,
            0.000126,
            5.03,
            8326.3902,
            3.0,
            50.0,
            0.0,
            0.000120,
            5.77,
            14286.1504,
            -0.6,
            6.0,
            0.0,
            0.000118,
            5.96,
            8330.9926,
            0.0,
            0.0,
            0.0,
            0.000110,
            1.80,
            23243.1438,
            0.9,
            31.0,
            0.0,
            0.000110,
            3.42,
            5957.4590,
            -2.1,
            -19.0,
            0.0,
            0.000110,
            4.63,
            1256.6039,
            -0.1,
            0.0,
            0.0,
            0.000099,
            4.70,
            -0.7113,
            0.0,
            0.0,
            0.0,
            0.000070,
            0.04,
            16029.0809,
            3.1,
            50.0,
            0.0,
            0.000070,
            5.14,
            8328.3391,
            1.5,
            25.0,
            0.0,
            0.000070,
            5.85,
            8329.0437,
            1.5,
            25.0,
            0.0,
            0.000060,
            1.02,
            -1742.9305,
            -3.7,
            -44.0,
            0.0,
            0.000060,
            3.10,
            17285.6848,
            3.0,
            50.0,
            0.0,
            0.000054,
            5.69,
            -0.352,
            0.0,
            0.0,
            0.0,
            0.000043,
            0.52,
            15.542,
            0.0,
            0.0,
            0.0,
            0.000041,
            2.03,
            2.630,
            0.0,
            0.0,
            0.0,
            0.000040,
            0.10,
            8470.667,
            -2.2,
            -19.0,
            0.0,
            0.000040,
            4.01,
            7072.088,
            1.6,
            25.0,
            0.0,
            0.000036,
            2.93,
            -8.860,
            -0.3,
            0.0,
            0.0,
            0.000030,
            1.20,
            22128.515,
            -2.8,
            -13.0,
            0.0,
            0.000030,
            2.54,
            15542.754,
            -0.7,
            6.0,
            0.0,
            0.000027,
            4.43,
            7211.762,
            -0.7,
            6.0,
            0.0,
            0.000026,
            0.51,
            15540.453,
            0.9,
            31.0,
            0.0,
            0.000026,
            1.44,
            15545.055,
            -2.2,
            -19.0,
            0.0,
            0.000025,
            5.37,
            7216.364,
            -3.7,
            -44.0,
            0.0
        ),
        doubleArrayOf(0.00001200, 1.041, -2.3012, 1.52, 25.0, -0.1, 0.00000170, 0.31, -0.711, 0.0, 0.0, 0.0)
    )
    private val QI_KB = doubleArrayOf(
        1640650.479938, 15.21842500,
        1642476.703182, 15.21874996,
        1683430.515601, 15.218750011,
        1752157.640664, 15.218749978,
        1807675.003759, 15.218620279,
        1883627.765182, 15.218612292,
        1907369.128100, 15.218449176,
        1936603.140413, 15.218425000,
        1939145.524180, 15.218466998,
        1947180.798300, 15.218524844,
        1964362.041824, 15.218533526,
        1987372.340971, 15.218513908,
        1999653.819126, 15.218530782,
        2007445.469786, 15.218535181,
        2021324.917146, 15.218526248,
        2047257.232342, 15.218519654,
        2070282.898213, 15.218425000,
        2073204.872850, 15.218515221,
        2080144.500926, 15.218530782,
        2086703.688963, 15.218523776,
        2110033.182763, 15.218425000,
        2111190.300888, 15.218425000,
        2113731.271005, 15.218515671,
        2120670.840263, 15.218425000,
        2123973.309063, 15.218425000,
        2125068.997336, 15.218477932,
        2136026.312633, 15.218472436,
        2156099.495538, 15.218425000,
        2159021.324663, 15.218425000,
        2162308.575254, 15.218461742,
        2178485.706538, 15.218425000,
        2178759.662849, 15.218445786,
        2185334.020800, 15.218425000,
        2187525.481425, 15.218425000,
        2188621.191481, 15.218437494,
        2322147.76
    )
    private val SHUO_KB = doubleArrayOf(
        1457698.231017, 29.53067166,
        1546082.512234, 29.53085106,
        1640640.735300, 29.53060000,
        1642472.151543, 29.53085439,
        1683430.509300, 29.53086148,
        1752148.041079, 29.53085097,
        1807665.420323, 29.53059851,
        1883618.114100, 29.53060000,
        1907360.704700, 29.53060000,
        1936596.224900, 29.53060000,
        1939135.675300, 29.53060000,
        1947168.00
    )
    private val QB = decode("FrcFs22AFsckF2tsDtFqEtF1posFdFgiFseFtmelpsEfhkF2anmelpFlF1ikrotcnEqEq2FfqmcDsrFor22FgFrcgDscFs22FgEeFtE2sfFs22sCoEsaF2tsD1FpeE2eFsssEciFsFnmelpFcFhkF2tcnEqEpFgkrotcnEqrEtFermcDsrE222FgBmcmr22DaEfnaF222sD1FpeForeF2tssEfiFpEoeFssD1iFstEqFppDgFstcnEqEpFg11FscnEqrAoAF2ClAEsDmDtCtBaDlAFbAEpAAAAAD2FgBiBqoBbnBaBoAAAAAAAEgDqAdBqAFrBaBoACdAAf1AACgAAAeBbCamDgEifAE2AABa1C1BgFdiAAACoCeE1ADiEifDaAEqAAFe1AcFbcAAAAAF1iFaAAACpACmFmAAAAAAAACrDaAAADG0")
    private val SB = decode(
        "EqoFscDcrFpmEsF2DfFideFelFpFfFfFiaipqti1ksttikptikqckstekqttgkqttgkqteksttikptikq2fjstgjqttjkqttgkqtekstfkptikq2tijstgjiFkirFsAeACoFsiDaDiADc1AFbBfgdfikijFifegF1FhaikgFag1E2btaieeibggiffdeigFfqDfaiBkF1kEaikhkigeidhhdiegcFfakF1ggkidbiaedksaFffckekidhhdhdikcikiakicjF1deedFhFccgicdekgiFbiaikcfi1kbFibefgEgFdcFkFeFkdcfkF1kfkcickEiFkDacFiEfbiaejcFfffkhkdgkaiei1ehigikhdFikfckF1dhhdikcfgjikhfjicjicgiehdikcikggcifgiejF1jkieFhegikggcikFegiegkfjebhigikggcikdgkaFkijcfkcikfkcifikiggkaeeigefkcdfcfkhkdgkegieidhijcFfakhfgeidieidiegikhfkfckfcjbdehdikggikgkfkicjicjF1dbidikFiggcifgiejkiegkigcdiegfggcikdbgfgefjF1kfegikggcikdgFkeeijcfkcikfkekcikdgkabhkFikaffcfkhkdgkegbiaekfkiakicjhfgqdq2fkiakgkfkhfkfcjiekgFebicggbedF1jikejbbbiakgbgkacgiejkijjgigfiakggfggcibFifjefjF1kfekdgjcibFeFkijcfkfhkfkeaieigekgbhkfikidfcjeaibgekgdkiffiffkiakF1jhbakgdki1dj1ikfkicjicjieeFkgdkicggkighdF1jfgkgfgbdkicggfggkidFkiekgijkeigfiskiggfaidheigF1jekijcikickiggkidhhdbgcfkFikikhkigeidieFikggikhkffaffijhidhhakgdkhkijF1kiakF1kfheakgdkifiggkigicjiejkieedikgdfcggkigieeiejfgkgkigbgikicggkiaideeijkefjeijikhkiggkiaidheigcikaikffikijgkiahi1hhdikgjfifaakekighie1hiaikggikhkffakicjhiahaikggikhkijF1kfejfeFhidikggiffiggkigicjiekgieeigikggiffiggkidheigkgfjkeigiegikifiggkidhedeijcfkFikikhkiggkidhh1ehigcikaffkhkiggkidhh1hhigikekfiFkFikcidhh1hitcikggikhkfkicjicghiediaikggikhkijbjfejfeFhaikggifikiggkigiejkikgkgieeigikggiffiggkigieeigekijcijikggifikiggkideedeijkefkfckikhkiggkidhh1ehijcikaffkhkiggkidhh1hhigikhkikFikfckcidhh1hiaikgjikhfjicjicgiehdikcikggifikigiejfejkieFhegikggifikiggfghigkfjeijkhigikggifikiggkigieeijcijcikfksikifikiggkidehdeijcfdckikhkiggkhghh1ehijikifffffkhsFngErD1pAfBoDd1BlEtFqA2AqoEpDqElAEsEeB2BmADlDkqBtC1FnEpDqnEmFsFsAFnllBbFmDsDiCtDmAB2BmtCgpEplCpAEiBiEoFqFtEqsDcCnFtADnFlEgdkEgmEtEsCtDmADqFtAFrAtEcCqAE1BoFqC1F1DrFtBmFtAC2ACnFaoCgADcADcCcFfoFtDlAFgmFqBq2bpEoAEmkqnEeCtAE1bAEqgDfFfCrgEcBrACfAAABqAAB1AAClEnFeCtCgAADqDoBmtAAACbFiAAADsEtBqAB2FsDqpFqEmFsCeDtFlCeDtoEpClEqAAFrAFoCgFmFsFqEnAEcCqFeCtFtEnAEeFtAAEkFnErAABbFkADnAAeCtFeAfBoAEpFtAABtFqAApDcCGJ"
    )

    private fun decode(s: String): String {
        var s = s
        val o = "0000000000"
        val o2 = o + o
        s = s.replace("J", "00")
        s = s.replace("I", "000")
        s = s.replace("H", "0000")
        s = s.replace("G", "00000")
        s = s.replace("t", "02")
        s = s.replace("s", "002")
        s = s.replace("r", "0002")
        s = s.replace("q", "00002")
        s = s.replace("p", "000002")
        s = s.replace("o", "0000002")
        s = s.replace("n", "00000002")
        s = s.replace("m", "000000002")
        s = s.replace("l", "0000000002")
        s = s.replace("k", "01")
        s = s.replace("j", "0101")
        s = s.replace("i", "001")
        s = s.replace("h", "001001")
        s = s.replace("g", "0001")
        s = s.replace("f", "00001")
        s = s.replace("e", "000001")
        s = s.replace("d", "0000001")
        s = s.replace("c", "00000001")
        s = s.replace("b", "000000001")
        s = s.replace("a", "0000000001")
        s = s.replace("A", o2 + o2 + o2)
        s = s.replace("B", o2 + o2 + o)
        s = s.replace("C", o2 + o2)
        s = s.replace("D", o2 + o)
        s = s.replace("E", o2)
        s = s.replace("F", o)
        return s
    }

    fun nutationLon2(t: Double): Double {
        var a = -1.742 * t
        val t2 = t * t
        var dl = 0.0
        var i = 0
        val j = NUT_B.size
        while (i < j) {
            dl += (NUT_B[i + 3] + a) * sin(NUT_B[i] + NUT_B[i + 1] * t + NUT_B[i + 2] * t2)
            a = 0.0
            i += 5
        }
        return dl / 100 / SECOND_PER_RAD
    }

    fun eLon(t: Double, n: Int): Double {
        var t = t
        t /= 10.0
        var v = 0.0
        var tn = 1.0
        var n1: Int
        var n2: Int
        var m: Double
        var c: Double
        val pn = 1
        var n0: Double
        val m0 = XL0[pn + 1] - XL0[pn]
        var i = 0
        while (i < 6) {
            n1 = XL0[pn + i].toInt()
            n2 = XL0[pn + 1 + i].toInt()
            n0 = (n2 - n1).toDouble()
            if (n0 == 0.0) {
                i++
                tn *= t
                continue
            }
            if (n < 0) {
                m = n2.toDouble()
            } else {
                m = ((3 * n * n0 / m0 + 0.5).toInt() + n1).toDouble()
                if (i != 0) {
                    m += 3.0
                }
                if (m > n2) {
                    m = n2.toDouble()
                }
            }
            c = 0.0
            var j = n1
            while (j < m) {
                c += XL0[j] * cos(XL0[j + 1] + t * XL0[j + 2])
                j += 3
            }
            v += c * tn
            i++
            tn *= t
        }
        v /= XL0[0]
        val t2 = t * t
        v += (-0.0728 - 2.7702 * t - 1.1019 * t2 - 0.0996 * t2 * t) / SECOND_PER_RAD
        return v
    }

    fun mLon(t: Double, n: Int): Double {
        var n = n
        val ob = XL1
        val obl = ob[0].size
        var tn = 1.0
        var v = 0.0
        var j: Int
        var c: Double
        var t2 = t * t
        var t3 = t2 * t
        var t4 = t3 * t
        val t5 = t4 * t
        val tx = t - 10
        v += (3.81034409 + 8399.684730072 * t - 3.319e-05 * t2 + 3.11e-08 * t3 - 2.033e-10 * t4) * SECOND_PER_RAD
        v += 5028.792262 * t + 1.1124406 * t2 + 0.00007699 * t3 - 0.000023479 * t4 - 0.0000000178 * t5
        if (tx > 0) {
            v += -0.866 + 1.43 * tx + 0.054 * tx * tx
        }
        t2 /= 1e4
        t3 /= 1e8
        t4 /= 1e8

        n *= 6
        if (n < 0) {
            n = obl
        }
        var i = 0
        val x = ob.size
        while (i < x) {
            val f = ob[i]
            val l = f.size
            var m = (n * l / obl + 0.5).toInt()
            if (i > 0) {
                m += 6
            }
            if (m >= l) {
                m = l
            }
            j = 0
            c = 0.0
            while (j < m) {
                c += f[j] * cos(f[j + 1] + t * f[j + 2] + t2 * f[j + 3] + t3 * f[j + 4] + t4 * f[j + 5])
                j += 6
            }
            v += c * tn
            i++
            tn *= t
        }
        v /= SECOND_PER_RAD
        return v
    }

    fun gxcSunLon(t: Double): Double {
        val t2 = t * t
        val v = -0.043126 + 628.301955 * t - 0.000002732 * t2
        val e = 0.016708634 - 0.000042037 * t - 0.0000001267 * t2
        return -20.49552 * (1 + e * cos(v)) / SECOND_PER_RAD
    }

    fun ev(t: Double): Double {
        val f = 628.307585 * t
        return 628.332 + 21 * sin(1.527 + f) + 0.44 * sin(1.48 + f * 2) + 0.129 * sin(5.82 + f) * t + 0.00055 * sin(4.21 + f) * t * t
    }

    fun saLon(t: Double, n: Int): Double {
        return eLon(t, n) + nutationLon2(t) + gxcSunLon(t) + PI
    }

    fun dtExt(y: Double, jsd: Double): Double {
        val dy = (y - 1820) / 100
        return -20 + jsd * dy * dy
    }

    fun dtCalc(y: Double): Double {
        val size = DT_AT.size
        val y0 = DT_AT[size - 2]
        val t0 = DT_AT[size - 1]
        if (y >= y0) {
            val jsd = 31.0
            if (y > y0 + 100) {
                return dtExt(y, jsd)
            }
            return dtExt(y, jsd) - (dtExt(y0, jsd) - t0) * (y0 + 100 - y) / 100
        }
        var i: Int = 0
        while (i < size) {
            if (y < DT_AT[i + 5]) {
                break
            }
            i += 5
        }
        val t1 = (y - DT_AT[i]) / (DT_AT[i + 5] - DT_AT[i]) * 10
        val t2 = t1 * t1
        val t3 = t2 * t1
        return DT_AT[i + 1] + DT_AT[i + 2] * t1 + DT_AT[i + 3] * t2 + DT_AT[i + 4] * t3
    }

    fun dtT(t: Double): Double {
        return dtCalc(t / 365.2425 + 2000) / SECOND_PER_DAY
    }

    fun mv(t: Double): Double {
        var v = 8399.71 - 914 * sin(0.7848 + 8328.691425 * t + 0.0001523 * t * t)
        v -= 179 * sin(2.543 + 15542.7543 * t) + 160 * sin(0.1874 + 7214.0629 * t) + 62 * sin(3.14 + 16657.3828 * t) + 34 * sin(
            4.827 + 16866.9323 * t
        ) + 22 * sin(4.9 + 23871.4457 * t) + 12 * sin(2.59 + 14914.4523 * t) + 7 * sin(0.23 + 6585.7609 * t) + 5 * sin(
            0.9 + 25195.624 * t
        ) + 5 * sin(2.32 - 7700.3895 * t) + 5 * sin(3.88 + 8956.9934 * t) + 5 * sin(0.49 + 7771.3771 * t)
        return v
    }

    fun saLonT(w: Double): Double {
        var t: Double
        var v = 628.3319653318
        t = (w - 1.75347 - PI) / v
        v = ev(t)
        t += (w - saLon(t, 10)) / v
        v = ev(t)
        t += (w - saLon(t, -1)) / v
        return t
    }

    fun msaLon(t: Double, mn: Int, sn: Int): Double {
        return mLon(t, mn) + (-3.4E-6) - (eLon(t, sn) + gxcSunLon(t) + PI)
    }

    fun msaLonT(w: Double): Double {
        var t: Double
        var v = 7771.37714500204
        t = (w + 1.08472) / v
        t += (w - msaLon(t, 3, 3)) / v
        v = mv(t) - ev(t)
        t += (w - msaLon(t, 20, 10)) / v
        t += (w - msaLon(t, -1, 60)) / v
        return t
    }

    fun saLonT2(w: Double): Double {
        val v = 628.3319653318
        var t: Double = (w - 1.75347 - PI) / v
        t -= (0.000005297 * t * t + 0.0334166 * cos(4.669257 + 628.307585 * t) + 0.0002061 * cos(2.67823 + 628.307585 * t) * t) / v
        t += (w - eLon(t, 8) - PI + (20.5 + 17.2 * sin(2.1824 - 33.75705 * t)) / SECOND_PER_RAD) / v
        return t
    }

    fun msaLonT2(w: Double): Double {
        var t: Double
        var v = 7771.37714500204
        t = (w + 1.08472) / v
        val l: Double
        var t2 = t * t
        t -= (-0.00003309 * t2 + 0.10976 * cos(0.784758 + 8328.6914246 * t + 0.000152292 * t2) + 0.02224 * cos(0.18740 + 7214.0628654 * t - 0.00021848 * t2) - 0.03342 * cos(
            4.669257 + 628.307585 * t
        )) / v
        t2 = t * t
        l = mLon(
            t,
            20
        ) - (4.8950632 + 628.3319653318 * t + 0.000005297 * t2 + 0.0334166 * cos(4.669257 + 628.307585 * t) + 0.0002061 * cos(
            2.67823 + 628.307585 * t
        ) * t + 0.000349 * cos(4.6261 + 1256.61517 * t) - 20.5 / SECOND_PER_RAD)
        v =
            7771.38 - 914 * sin(0.7848 + 8328.691425 * t + 0.0001523 * t2) - 179 * sin(2.543 + 15542.7543 * t) - 160 * sin(
                0.1874 + 7214.0629 * t
            )
        t += (w - l) / v
        return t
    }

    fun qiHigh(w: Double): Double {
        var t = saLonT2(w) * 36525
        t = t - dtT(t) + ONE_THIRD
        val v = ((t + 0.5) % 1) * SECOND_PER_DAY
        if (v < 1200 || v > SECOND_PER_DAY - 1200) {
            t = saLonT(w) * 36525 - dtT(t) + ONE_THIRD
        }
        return t
    }

    fun shuoHigh(w: Double): Double {
        var t = msaLonT2(w) * 36525
        t = t - dtT(t) + ONE_THIRD
        val v = ((t + 0.5) % 1) * SECOND_PER_DAY
        if (v < 1800 || v > SECOND_PER_DAY - 1800) {
            t = msaLonT(w) * 36525 - dtT(t) + ONE_THIRD
        }
        return t
    }

    fun qiLow(w: Double): Double {
        val v = 628.3319653318
        var t = (w - 4.895062166) / v
        t -= (53 * t * t + 334116 * cos(4.67 + 628.307585 * t) + 2061 * cos(2.678 + 628.3076 * t) * t) / v / 10000000
        val n =
            48950621.66 + 6283319653.318 * t + 53 * t * t + 334166 * cos(4.669257 + 628.307585 * t) + 3489 * cos(4.6261 + 1256.61517 * t) + 2060.6 * cos(
                2.67823 + 628.307585 * t
            ) * t - 994 - 834 * sin(2.1824 - 33.75705 * t)
        t -= (n / 10000000 - w) / 628.332 + (32 * (t + 1.8) * (t + 1.8) - 20) / SECOND_PER_DAY / 36525
        return t * 36525 + ONE_THIRD
    }

    fun shuoLow(w: Double): Double {
        val v = 7771.37714500204
        var t = (w + 1.08472) / v
        t -= (-0.0000331 * t * t + 0.10976 * cos(0.785 + 8328.6914 * t) + 0.02224 * cos(0.187 + 7214.0629 * t) - 0.03342 * cos(
            4.669 + 628.3076 * t
        )) / v + (32 * (t + 1.8) * (t + 1.8) - 20) / SECOND_PER_DAY / 36525
        return t * 36525 + ONE_THIRD
    }

    fun calcShuo(jd: Double): Double {
        var jd = jd
        val size = SHUO_KB.size
        var d = 0.0
        val pc = 14
        var i: Int
        jd += J2000
        val f1 = SHUO_KB[0] - pc
        val f2 = SHUO_KB[size - 1] - pc
        val f3 = 2436935.0
        if (jd < f1 || jd >= f3) {
            d = floor(shuoHigh(floor((jd + pc - 2451551) / 29.5306) * PI_2) + 0.5)
        } else if (jd >= f1 && jd < f2) {
            i = 0
            while (i < size) {
                if (jd + pc < SHUO_KB[i + 2]) {
                    break
                }
                i += 2
            }
            d = SHUO_KB[i] + SHUO_KB[i + 1] * floor((jd + pc - SHUO_KB[i]) / SHUO_KB[i + 1])
            d = floor(d + 0.5)
            if (d == 1683460.0) {
                d++
            }
            d -= J2000
        } else if (jd >= f2) {
            d = floor(shuoLow(floor((jd + pc - 2451551) / 29.5306) * PI_2) + 0.5)
            val from = ((jd - f2) / 29.5306).toInt()
            val n = SB.substring(from, from + 1)
            if ("1" == n) {
                d += 1.0
            } else if ("2" == n) {
                d -= 1.0
            }
        }
        return d
    }

    fun calcQi(jd: Double): Double {
        var jd = jd
        val size = QI_KB.size
        var d = 0.0
        val pc = 7
        var i: Int
        jd += J2000
        val f1 = QI_KB[0] - pc
        val f2 = QI_KB[size - 1] - pc
        val f3 = 2436935.0
        if (jd < f1 || jd >= f3) {
            d = floor(qiHigh(floor((jd + pc - 2451259) / 365.2422 * 24) * PI / 12) + 0.5)
        } else if (jd >= f1 && jd < f2) {
            i = 0
            while (i < size) {
                if (jd + pc < QI_KB[i + 2]) {
                    break
                }
                i += 2
            }
            d = QI_KB[i] + QI_KB[i + 1] * floor((jd + pc - QI_KB[i]) / QI_KB[i + 1])
            d = floor(d + 0.5)
            if (d == 1683460.0) {
                d++
            }
            d -= J2000
        } else if (jd >= f2) {
            d = floor(qiLow(floor((jd + pc - 2451259) / 365.2422 * 24) * PI / 12) + 0.5)
            val from = ((jd - f2) / 365.2422 * 24).toInt()
            val n = QB.substring(from, from + 1)
            if ("1" == n) {
                d += 1.0
            } else if ("2" == n) {
                d -= 1.0
            }
        }
        return d
    }

    fun qiAccurate(w: Double): Double {
        val t = saLonT(w) * 36525
        return t - dtT(t) + ONE_THIRD
    }

    fun qiAccurate2(jd: Double): Double {
        val d: Double = PI / 12
        val w = floor((jd + 293) / 365.2422 * 24) * d
        val a = qiAccurate(w)
        if (a - jd > 5) {
            return qiAccurate(w - d)
        }
        if (a - jd < -5) {
            return qiAccurate(w + d)
        }
        return a
    }
}
